Changes between Version 23 and Version 24 of BluePrintAuthenticationAccess
- Timestamp:
- 01/10/09 10:51:39 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BluePrintAuthenticationAccess
v23 v24 1 1 This page hosts the detailed specification for the [https://blueprints.launchpad.net/sahanapy/+spec/authentication-authorization Blueprint for Authentication & Access]. 2 2 3 Authentication is the process that verifies the identity of a user.[[BR]]4 Authorization provides controlled access to protected resources.3 Authentication is the act of establishing or confirming someone's identity.[[BR]] 4 Authorization is the concept of allowing access to resources only to those permitted to use them. 5 5 6 === Requirements === 6 == Authentication == 7 SahanaPy currently authenticates on email address/password.[[BR]] 8 - this is the T2 method. 9 10 The default configuration is that Self-Registration is enabled.[[BR]] 11 This can be easily disabled: 12 * Remove the link from the menu in {{{layout.html}}} 13 * Disable the function in {{{controllers/default.py}}} 14 This manual process should be changed to a single setting in the default_setting table. 15 16 The email address is currently not verified.[[BR]] 17 - this should be fixed. 18 19 Sahana2 supports OpenID (as does Launchpad), so that would be good to support & looks easy: 20 * http://openidenabled.com/python-openid/ 21 22 == Authorization == 7 23 We want to be able to provide a simple way of setting the overall security policy - allowing for flexible deployment options. 8 24 * Anonymous access is granted for all Read operations, with Create/Update/Delete requiring a user to be Authenticated 9 * Self-Registration possible10 * Self-Registration not possible11 25 * Anonymous access isn't granted for anything - all access requires a user to be Authenticated 12 26 * Modules able to be restricted by Role membership … … 16 30 * C/R/U/D permissions distinct 17 31 18 The specification we should be working to implement is in the Wiki:32 Sahana2 specifications: 19 33 * Proposed Trunk: http://wiki.sahana.lk/doku.php?id=dev:new_acl 20 34 * Current Stable: http://wiki.sahana.lk/doku.php?id=dev:security … … 24 38 We also want to look at linking the AAA t2_person table with the Person Registry's person table 25 39 26 Sahana2 supports OpenID (as does Launchpad ;) ), so that would be good to support & looks easy:27 * http://openidenabled.com/python-openid/28 29 40 === Implementation === 30 41 S3 builds on the default T2 AAA system: … … 32 43 33 44 Anonymous access is currently granted for all Read operations, with Create/Update/Delete requiring a user to be Authenticated: {{{t2.logged_in}}} 34 * T2 can extend this by protecting resources with {{{t2.have_membership()}}} ( functional check) & {{{t2.have_access()}}} (record-level security)35 * we should probably support th isby adding hooks into the [wiki:BluePrintREST RESTlike controller]45 * T2 can extend this by protecting resources with {{{t2.have_membership()}}} (table level security which can be separated for C/R/U/D) & {{{t2.have_access()}}} (record-level security) 46 * we should probably support these by adding hooks into the [wiki:BluePrintREST RESTlike controller] 36 47 37 The system supports Self-Registration, which won't be appropriate for all deployment scenarios.[[BR]] 38 To disable it requires: 39 * Removing the link from the menu in {{{layout.html}}} 40 * Disabling the function in controllers/default.py 41 If self-registration is disabled then users maintenance can be done via appadmin until we develop our own UI.[[BR]] 42 This will also be the case for adding extra roles anyway. 48 User maintenance can be done via appadmin until we develop our own UI.[[BR]] 43 49 44 50 DRAFT: … … 59 65 * Function components protected with: {{{if not is_admin: t2.redirect('index',flash=T('Not Authorised'))}}} 60 66 * appadmin protected in the same way :) 67 61 68 === Links === 62 69 * Working with Realms, Users, Groups, and Roles: http://java.sun.com/javaee/5/docs/tutorial/doc/bnbxj.html