[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