dlestrat 2004/10/17 12:22:38 Modified: components/security/xdocs navigation.xml Added: components/security/xdocs/images components.jpg class-diagram.jpg components/security/xdocs index.xml Log: Starting security services doc. Revision Changes Path 1.1 jakarta-jetspeed-2/components/security/xdocs/images/components.jpg <<Binary file>> 1.1 jakarta-jetspeed-2/components/security/xdocs/images/class-diagram.jpg <<Binary file>> 1.2 +8 -0 jakarta-jetspeed-2/components/security/xdocs/navigation.xml Index: navigation.xml =================================================================== RCS file: /home/cvs/jakarta-jetspeed-2/components/security/xdocs/navigation.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- navigation.xml 29 Mar 2004 05:00:42 -0000 1.1 +++ navigation.xml 17 Oct 2004 19:22:38 -0000 1.2 @@ -19,6 +19,14 @@ <links> <item name="Jetspeed 2" href="../../index.html"/> </links> + <menu name="Jetspeed 2 Security Documentation"> + <item name="Overview" href="index.html"/> + <item name="Authentication" href="#"/> + <item name="Authorization Security Services" href="#"/> + <item name="Aggregate Security Services" href="#"/> + <item name="SPI Architecture" href="#"/> + <item name="Security Services Configuration" href="#"/> + </menu> <menu name="Misc."> <item name="Tasks" href="tasks.html"/> </menu> 1.1 jakarta-jetspeed-2/components/security/xdocs/index.xml Index: index.xml =================================================================== <?xml version="1.0"?> <!-- Copyright 2004 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <document> <properties> <title>Jetspeed 2 Security Architecture</title> <authors> <person name="David Le Strat" email="[EMAIL PROTECTED]"/> </authors> </properties> <body> <section name="Overview"> <p> Jetspeed 2 security architecture provides a comprehensive suite of security services that can be used to protect a wide ranging type of portal resources. At its core, Jetspeed 2 security services rely entirely on JAAS to provide authentication and authorization services to the portal: </p> <ul> <li> Authentication services are implemented through the use of JAAS login modules. </li> <li> Authorization services are implemented through the use of custom JAAS policies. </li> </ul> <p> Both authentication and authorization services have been implemented with the goal of providing a direct plugin to the underlying application server security framework. Jetspeed 2 can leverage the underlying application server login module as well as through the use of JACC, the application server policy management capabilities available in J2EE 1.4 (see <a href="http://java.sun.com/j2ee/javaacc/">API Specifications</a>). </p> </section> <section name="Jetspeed 2 Security Service"> <p> JAAS defines the contract for authentication and authorization but does not specify any guidelines for the management of the security resources. Jetspeed 2 provide a modular set of components aims at providing management functionality for the portal security components. </p> <p> Leveraging Jetspeed 2 component, architecture, the security services provide a set of loosing coupled components providing specilized services: </p> <ul> <li> UserManager: Service providing user management capabilities. </li> <li> GroupManager: Service providing group management capabilities. </li> <li> RoleManager: Service providing role management capabilities. </li> <li> PermissionManager: Service providing permission management capabilities. </li> </ul> </section> <section name="A Modular and Pluggable Architecture"> <p><img src="images/components.jpg" align="right" border="0" hspace="1" vspace="2"/> Jetspeed 2 security services are founded on a set of modular and extensible security modules exposed through an SPI model. The SPI model provides the ability to modify the behavior of the security services through the modification and configuration of specialized handlers. For instance, Jetspeed security services can be configured to retrieve user security principals through the default Jetspeed store or through an LDAP store or both.<br/> A <code>SecurityProvider</code> exposes the configured SPI handlers to the security services. Jetspeed component assembly (based on Spring) architecture provides an easy way to reconfigure the security services to satisfy the needs of a specific implementation. </p> </section> <section name="Role Based Access Control"> <p> Role based access control (RBAC) in Jetspeed 2 support multiple hierarchy resolution strategies as defined in <a href="http://www.doc.ic.ac.uk/~ecl1/papers/rbac99.pdf">The Uses of Hierarchy in Access Control</a>. Two hierarchy resolution strategies are supported for authorization decisions: </p> <ul> <li> Hierarchy resolution by Generalization: This is the default hierarchy resolution in Jetspeed. If a hierarchy uses a generalization strategy, each role is more general than the previous one. For instance, if a user has the role [roleA.roleB.roleC] then <code>user.getSubject().getPrincipals()</code> returns: <ul> <li>/role/roleA</li> <li>/role/roleA/roleB</li> <li>/role/roleA/roleB/roleC</li> </ul> </li> <li> Hierarchy resolution by Aggregation: If a hierarchy uses a aggregation strategy, the higher role is responsible for a superset of the activities of the lower role. For instance, if the following roles are available: <ul> <li>roleA</li> <li>roleA.roleB</li> <li>roleA.roleB.roleC</li> </ul> If a user has the role [roleA] then, <code>user.getSubject().getPrincipals()</code> returns: <ul> <li>/role/roleA</li> <li>/role/roleA/roleB</li> <li>/role/roleA/roleB/roleC</li> </ul> </li> </ul> </section> </body> </document>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]