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

Shane Bryzak Shane_Bryzak at symantec.com
Fri Aug 4 21:57:53 EDT 2006


  User: sbryzak2
  Date: 06/08/04 21:57:53

  Modified:    src/main/org/jboss/seam/security   Authentication.java
                        UsernamePasswordToken.java
  Log:
  Security stuff
  
  Revision  Changes    Path
  1.3       +49 -6     jboss-seam/src/main/org/jboss/seam/security/Authentication.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Authentication.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/security/Authentication.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- Authentication.java	31 Jul 2006 06:45:50 -0000	1.2
  +++ Authentication.java	5 Aug 2006 01:57:53 -0000	1.3
  @@ -2,16 +2,59 @@
   
   import java.io.Serializable;
   import java.security.Principal;
  +import java.security.acl.Acl;
  +import org.jboss.seam.contexts.Contexts;
  +import org.jboss.seam.Component;
  +import org.jboss.seam.ScopeType;
  +import org.jboss.seam.annotations.Name;
  +import org.jboss.seam.annotations.Scope;
  +import static org.jboss.seam.ScopeType.SESSION;
   
   /**
  - * <p> </p>
  + * An Authentication represents either a login token or an authenticated Principal.
    *
    * @author Shane Bryzak
    */
  -public interface Authentication extends Principal, Serializable
  + at Name("org.jboss.seam.security.authentication")
  + at Scope(SESSION)
  +public abstract class Authentication implements Principal, Serializable
   {
  -  String[] getRoles();
  -  Object getCredentials();
  -  Object getPrincipal();
  -  boolean isAuthenticated();
  +  protected boolean authenticated;
  +  protected boolean valid;
  +
  +  public static Authentication instance()
  +  {
  +    if (!Contexts.isSessionContextActive())
  +       throw new IllegalStateException("No active session context");
  +
  +    Authentication instance = (Authentication) Component.getInstance(
  +        Authentication.class, ScopeType.SESSION, true);
  +
  +    if (instance==null)
  +    {
  +      throw new IllegalStateException(
  +          "No Authentication could be created, make sure the Component 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;
  +  }
   }
  
  
  
  1.3       +2 -7      jboss-seam/src/main/org/jboss/seam/security/UsernamePasswordToken.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UsernamePasswordToken.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/security/UsernamePasswordToken.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- UsernamePasswordToken.java	1 Aug 2006 02:04:53 -0000	1.2
  +++ UsernamePasswordToken.java	5 Aug 2006 01:57:53 -0000	1.3
  @@ -5,12 +5,11 @@
    *
    * @author Shane Bryzak
    */
  -public class UsernamePasswordToken implements Authentication
  +public class UsernamePasswordToken extends Authentication
   {
     private String[] roles;
     private Object credentials;
     private Object principal;
  -  private boolean authenticated = false;
   
     public UsernamePasswordToken(Object principal, Object credentials)
     {
  @@ -24,6 +23,7 @@
       this(principal, credentials);
       this.roles = roles;
       this.authenticated = true;
  +    this.valid = true;
     }
   
     public String getName()
  @@ -45,9 +45,4 @@
     {
       return principal;
     }
  -
  -  public boolean isAuthenticated()
  -  {
  -    return authenticated;
  -  }
   }
  
  
  



More information about the jboss-cvs-commits mailing list