Differences between revisions 5 and 6
Revision 5 as of 2010-06-03 11:52:16
Size: 4336
Editor: abr
Comment:
Revision 6 as of 2010-06-03 12:36:17
Size: 2448
Editor: abr
Comment:
Deletions are marked like this. Additions are marked like this.
Line 25: Line 25:

== Bitstorage auth design ==
This design has been worked out between Mads (INITIALS), Per (INITALS) and abr. Jhlj has been informed of some of the design, but need to sign of on the final version.

The design is as follows:

Components:
 * Doms auth checker: Service for checking credentials against the policy in doms. Author IT Digitale Ressourcer
 * IP2RolesMapper: Service for mapping user ip to a set of roles. Auther Unknown.
 * URL2FileMapper: Service for mapping a permament url to a file. Authro IT Drift
 * PHP main app: Service for handling the flow between the services. Auther IT Service
 * Apache server: Server for housing the php app, and handling the perm urls. Use URL_rewrite to forward requests to php.

 1. Each file in bitstorage is assigned a permanent URL
 1. An Apache server is set up to handle these URLs

User GETs a perm url
 1. Apache -> url_rewrite the requests and forward it to php app
 1. Php application
  1. Invoke IP2RolesMapper to get user roles.
  1. Invoke Doms Auth Checker(url, roles) to see if the IP roles are enough to get the file
  1. If no:
   1. Extract Wayf credentials from the user, by redirecting him to the WAYF page.
   1. Invoke Doms Auth Checker(url, creds) to see if the file is assesible with the creds
   1. if no:
    1. Send Unauthorized error
 1. Invoke URL2FileMapper to get a file location.
 1. Open this file.
 1. (Request file mime-type from Fedora)
 1. Stream it to the user.

It can be seen that the php app will become a bottleneck. There are several designs that could work around this. Having several identical apache servers with identical php apps, and using some sort of load balancing would work.

=== IP Roles are enough ===

{{attachment:auth2.jpeg}}

=== Wayf creds needed ===

{{attachment:auth1.jpeg}}

=== No creds good enough ===

{{attachment:auth3.jpeg}}

Task Doms Auth system

Title
Doms Auth system

State
Not started

Time used

Time estimated

Description

The doms auth system is responsible for ensuring that no user can access files without sufficient credentials. Furthermore, no doms record should be viewable without the nessesary credentials. These are two different requirements.

  1. Auth check on bitstorage access
  2. Auth check on long post viewing

Sub tasks

Title State Time used Time estimated

Documentation

Progress history

Iteration Time used Status Notes Tasks adressed

Tasks/22 (last edited 2010-06-10 13:07:27 by abr)