From: <fc...@us...> - 2008-02-25 17:38:59
|
Revision: 700 http://openutils.svn.sourceforge.net/openutils/?rev=700&view=rev Author: fcarone Date: 2008-02-25 09:38:38 -0800 (Mon, 25 Feb 2008) Log Message: ----------- More documentation added Modified Paths: -------------- trunk/openutils-hibernate-security/src/site/apt/index.apt Added Paths: ----------- trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt Modified: trunk/openutils-hibernate-security/src/site/apt/index.apt =================================================================== --- trunk/openutils-hibernate-security/src/site/apt/index.apt 2008-02-25 14:08:41 UTC (rev 699) +++ trunk/openutils-hibernate-security/src/site/apt/index.apt 2008-02-25 17:38:38 UTC (rev 700) @@ -12,7 +12,9 @@ See the test classes for how to setup security and look at {{{apidocs/index.html}javadocs}} for more details. + If need more detail but you don't want to dig into the sources, then you can read this {{{rbac-acegi.html}document}}. + Released versions Check it at {{{http://www.mvnrepository.com/artifact/net.sourceforge.openutils/openutils-hibernate-security}http://www.mvnrepository.com/artifact/net.sourceforge.openutils/openutils-hibernate-security}} Added: trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt =================================================================== --- trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt (rev 0) +++ trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-25 17:38:38 UTC (rev 700) @@ -0,0 +1,40 @@ + -------------------------- + O p e n u t i l s + -------------------------- + Filippo Carone + -------------------------- + +openutils-hibernate-security - A Role Based Access Control library + + This project proposes a Role Based approach to security, trying to be as hidden as possible to application developers. + + A common test case is when you have different users who can access the same group of domain business objects and a +policy to enforce access security is needed. For exaple, given a DummyDataObject with two properties, intValue and +stringValue, you want UserA to access the DummyDataObject when intValue is 1 and UserB when intValue is 2. + + In a typical RBAC environment, the user (or entity who does something) is called subject and a subject is tied to +many roles. Within openutils, 1 user is contained in N groups and a group can have M roles, so you relate users +to roles through groups. For our example let's map UserA to Role1 and UserB to Role2 (through 2 different groups, +GroupA and GroupB, but groups are not important now). + + The core of the openutils-hibernate-security is called SecurityRule. A SecurityRule defines which role can +access/modify/create/delete which object (so who can do what on something). To enforce our example policy we add +2 SecurityRules, using the following notation: + + RoleN - Bean - property - value - Modifier (EQUALS, NOT) - Permission (LOAD, CREATE, DELETE, MODIFY) + + So: + + SecurityRule 1: + Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD + + SecurityRule 2: + Role2 - DummyDataObject - intValue - 2 - EQUALS - LOAD + + With the given scheme, users with roles Role1 and Role2 can access in readonly mode the DummyDataObject instances with +respectively intValue equals to 1 and 2. If you want to make Role2 access the DummyDataObjects in read-write mode, the +SecurityRule 2 becomes: + + Role2 - DummyDataObject - intValue - 2 - EQUALS - LOAD, MODIFY + + In this case, users with Role2 won't be able to either create or delete DummyDataObjects when intValue is 2. \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |