[jboss-cvs] jboss-seam/src/main/org/jboss/seam/security ...

Shane Bryzak Shane_Bryzak at symantec.com
Sun Dec 3 20:06:50 EST 2006


  User: sbryzak2
  Date: 06/12/03 20:06:50

  Modified:    src/main/org/jboss/seam/security    PermissionHandler.java
                        SeamSecurityManager.java
  Added:       src/main/org/jboss/seam/security    Identity.java
  Log:
  bye bye old security design
  
  Revision  Changes    Path
  1.3       +30 -31    jboss-seam/src/main/org/jboss/seam/security/PermissionHandler.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PermissionHandler.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/security/PermissionHandler.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PermissionHandler.java	15 Nov 2006 21:55:00 -0000	1.2
  +++ PermissionHandler.java	4 Dec 2006 01:06:50 -0000	1.3
  @@ -8,13 +8,12 @@
   
   import org.jboss.seam.Component;
   import org.jboss.seam.Seam;
  -import org.jboss.seam.annotations.security.DefinePermissions;
  -import org.jboss.seam.security.acl.AclProvider;
  +//import org.jboss.seam.annotations.security.DefinePermissions;
  +import org.jboss.seam.security.acl.AclManager;
   
   /**
    * 
    * @author shane_bryzak
  - *
    */
   public class PermissionHandler 
   {
  @@ -24,31 +23,31 @@
     
     public PermissionHandler(Class cls)
     {
  -    DefinePermissions def = null;
  +//    DefinePermissions def = null;
      
  -    if (cls.isAnnotationPresent(DefinePermissions.class))
  -      def = (DefinePermissions) cls.getAnnotation(DefinePermissions.class);
  +//    if (cls.isAnnotationPresent(DefinePermissions.class))
  +//      def = (DefinePermissions) cls.getAnnotation(DefinePermissions.class);
   
       // Determine the permission name.  If it is specified in a @DefinePermissions
       // annotation, use that one, otherwise use the component name.  If the object
       // is not a Seam component, use its fully qualified class name.
  -    if (def != null && !"".equals(def.name()))
  -    {
  -      permissionName = ((DefinePermissions) cls.getAnnotation(DefinePermissions.class)).name();
  -    }
  -    else
  -      permissionName = Seam.getComponentName(cls);
  +//    if (def != null && !"".equals(def.name()))
  +//    {
  +//      permissionName = ((DefinePermissions) cls.getAnnotation(DefinePermissions.class)).name();
  +//    }
  +//    else
  +//      permissionName = Seam.getComponentName(cls);
   
       if (permissionName == null)
         permissionName = cls.getName();
   
  -    if (def != null)
  -    {
  -      for (org.jboss.seam.annotations.security.AclProvider p : def.permissions())
  -      {
  -        providers.put(p.action(), p.provider());        
  -      }
  -    }
  +//    if (def != null)
  +//    {
  +//      for (org.jboss.seam.annotations.security.AclProvider p : def.permissions())
  +//      {
  +//        providers.put(p.action(), p.provider());
  +//      }
  +//    }
     }
     
     public String getPermissionName()
  @@ -79,7 +78,7 @@
     {
       Permission required = new SeamPermission(permissionName, action);
   
  -    AclProvider provider = (AclProvider) Component.getInstance(providers.get(action), true);
  +    AclManager provider = (AclManager) Component.getInstance(providers.get(action), true);
       Principal principal = Authentication.instance();
       
       if (provider != null)
  
  
  
  1.18      +3 -3      jboss-seam/src/main/org/jboss/seam/security/SeamSecurityManager.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SeamSecurityManager.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/security/SeamSecurityManager.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -b -r1.17 -r1.18
  --- SeamSecurityManager.java	24 Nov 2006 23:15:19 -0000	1.17
  +++ SeamSecurityManager.java	4 Dec 2006 01:06:50 -0000	1.18
  @@ -17,7 +17,7 @@
   import org.jboss.seam.annotations.Name;
   import org.jboss.seam.annotations.Scope;
   import org.jboss.seam.contexts.Contexts;
  -import org.jboss.seam.security.acl.AclProvider;
  +import org.jboss.seam.security.acl.AclManager;
   import org.jboss.seam.security.acl.IdentityGenerator;
   import org.jboss.seam.security.acl.JPAIdentityGenerator;
   
  @@ -166,13 +166,13 @@
     }
   
     public void grantPermission(Object target, String action, String recipient,
  -                               AclProvider.RecipientType recipientType)
  +                               AclManager.RecipientType recipientType)
     {
       /** @todo  */
     }
   
     public void revokePermission(Object target, String action, String recipient,
  -                               AclProvider.RecipientType recipientType)
  +                               AclManager.RecipientType recipientType)
     {
       /** @todo  */
     }
  
  
  
  1.1      date: 2006/12/04 01:06:50;  author: sbryzak2;  state: Exp;jboss-seam/src/main/org/jboss/seam/security/Identity.java
  
  Index: Identity.java
  ===================================================================
  package org.jboss.seam.security;
  
  import static org.jboss.seam.ScopeType.SESSION;
  
  import java.io.Serializable;
  import java.security.Principal;
  
  import org.jboss.seam.Component;
  import org.jboss.seam.ScopeType;
  import org.jboss.seam.annotations.Name;
  import org.jboss.seam.annotations.Scope;
  import org.jboss.seam.contexts.Contexts;
  
  @Name("org.jboss.seam.security.identity")
  @Scope(SESSION)
  public abstract class Identity implements Principal, Serializable
  {
    protected boolean authenticated;
    protected boolean valid;
  
    public static Identity instance()
    {
      if (!Contexts.isSessionContextActive())
         throw new IllegalStateException("No active session context");
  
      Identity instance = (Identity) Component.getInstance(
          Identity.class, ScopeType.SESSION, true);
  
      if (instance==null)
      {
        throw new AuthenticationException(
            "No Identity exists in session scope");
      }
  
      return instance;
    }
  
    public abstract String[] getRoles();
    public abstract Object getCredentials();
    public abstract Object getPrincipal();
  
    public final boolean isAuthenticated()
    {
      return authenticated;
    }
  
    public final boolean isValid()
    {
      return valid;
    }
  
    public final void invalidate()
    {
      valid = false;
    }
  
    /**
     * Checks if the authenticated user contains the specified role.
     *
     * @param role String
     * @return boolean Returns true if the authenticated user contains the role,
     * or false if otherwise.
     */
    public boolean isUserInRole(String role)
    {
      for (String r : getRoles())
      {
        if (r.equals(role))
          return true;
      }
      return false;
    }
  }
  
  
  



More information about the jboss-cvs-commits mailing list