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]

Reply via email to