You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ep...@apache.org on 2003/12/11 00:20:24 UTC
cvs commit: jakarta-turbine-fulcrum/security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine AccessControlListAdapter.java
epugh 2003/12/10 15:20:24
Modified: security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine
AccessControlListAdapter.java
Log:
Allow the Turbine ACL hasRole(string) to work!
Revision Changes Path
1.2 +17 -6 jakarta-turbine-fulcrum/security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine/AccessControlListAdapter.java
Index: AccessControlListAdapter.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-fulcrum/security/adapters/turbine/src/java/org/apache/fulcrum/security/adapter/turbine/AccessControlListAdapter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AccessControlListAdapter.java 5 Dec 2003 23:33:16 -0000 1.1
+++ AccessControlListAdapter.java 10 Dec 2003 23:20:24 -0000 1.2
@@ -58,6 +58,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.fulcrum.security.model.basic.BasicAccessControlList;
import org.apache.fulcrum.security.model.dynamic.DynamicAccessControlList;
import org.apache.turbine.om.security.Group;
import org.apache.turbine.om.security.Permission;
@@ -77,7 +78,7 @@
public class AccessControlListAdapter implements AccessControlList
{
private static Log log = LogFactory.getLog(AccessControlListAdapter.class);
- private DynamicAccessControlList acl;
+ private org.apache.fulcrum.security.acl.AccessControlList acl;
/**
*
*/
@@ -85,7 +86,7 @@
{
super();
}
- public AccessControlListAdapter(DynamicAccessControlList acl)
+ public AccessControlListAdapter(org.apache.fulcrum.security.acl.AccessControlList acl)
{
super();
this.acl = acl;
@@ -120,8 +121,11 @@
*/
public PermissionSet getPermissions()
{
+ if (!(acl instanceof DynamicAccessControlList)){
+ throw new RuntimeException("ACL doesn't support this opperation");
+ }
PermissionSet turbinePS = new PermissionSet();
- org.apache.fulcrum.security.util.PermissionSet fulcrumPS = acl.getPermissions();
+ org.apache.fulcrum.security.util.PermissionSet fulcrumPS = ((DynamicAccessControlList)acl).getPermissions();
for (Iterator i = fulcrumPS.iterator(); i.hasNext();)
{
org.apache.fulcrum.security.entity.Permission fulcrumPermission =
@@ -166,11 +170,18 @@
{
throw new RuntimeException("Unsupported operation");
}
- /* (non-Javadoc)
+ /* For a DynamicACL, checks the role. But, for a BasicACL, it maps
+ * roles onto BasicGroup's.
* @see org.apache.turbine.util.security.AccessControlList#hasRole(java.lang.String)
*/
- public boolean hasRole(String arg0)
+ public boolean hasRole(String roleName)
{
+ if (acl instanceof DynamicAccessControlList){
+ return ((DynamicAccessControlList)acl).hasRole(roleName);
+ }
+ else if (acl instanceof BasicAccessControlList){
+ return ((BasicAccessControlList)acl).hasGroup(roleName);
+ }
throw new RuntimeException("Unsupported operation");
}
/* (non-Javadoc)
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org