[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