[seam-commits] Seam SVN: r7552 - trunk/src/main/org/jboss/seam/security/permission.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Thu Mar 13 02:38:14 EDT 2008
Author: shane.bryzak at jboss.com
Date: 2008-03-13 02:38:14 -0400 (Thu, 13 Mar 2008)
New Revision: 7552
Added:
trunk/src/main/org/jboss/seam/security/permission/AccountPermission.java
trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java
trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java
Modified:
trunk/src/main/org/jboss/seam/security/permission/DynamicPermissionResolver.java
Log:
groundwork for dynamic permissions
Added: trunk/src/main/org/jboss/seam/security/permission/AccountPermission.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/permission/AccountPermission.java (rev 0)
+++ trunk/src/main/org/jboss/seam/security/permission/AccountPermission.java 2008-03-13 06:38:14 UTC (rev 7552)
@@ -0,0 +1,24 @@
+package org.jboss.seam.security.permission;
+
+/**
+ * Abstract base class for persistence of user/role permissions. This class should be extended
+ * to create a concrete JPA/Hibernate implementation.
+ *
+ * @author Shane Bryzak
+ */
+public abstract class AccountPermission
+{
+ public enum AccountType {user, role}
+
+ public abstract String getTarget();
+ public abstract void setTarget(String target);
+
+ public abstract String getAction();
+ public abstract void setAction(String action);
+
+ public abstract String getAccount();
+ public abstract void setAccount(String account);
+
+ public abstract AccountType getAccountType();
+ public abstract void setAccountType(AccountType accountType);
+}
Modified: trunk/src/main/org/jboss/seam/security/permission/DynamicPermissionResolver.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/permission/DynamicPermissionResolver.java 2008-03-13 06:28:43 UTC (rev 7551)
+++ trunk/src/main/org/jboss/seam/security/permission/DynamicPermissionResolver.java 2008-03-13 06:38:14 UTC (rev 7552)
@@ -26,6 +26,6 @@
{
public boolean hasPermission(Object target, String action)
{
- return true;
+ return false;
}
}
Added: trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java (rev 0)
+++ trunk/src/main/org/jboss/seam/security/permission/JPAPermissionStore.java 2008-03-13 06:38:14 UTC (rev 7552)
@@ -0,0 +1,42 @@
+package org.jboss.seam.security.permission;
+
+import static org.jboss.seam.ScopeType.APPLICATION;
+
+import java.util.List;
+
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
+import org.jboss.seam.security.permission.AccountPermission.AccountType;
+
+/**
+ * A permission store implementation that uses JPA as its persistence mechanism.
+ *
+ * @author Shane Bryzak
+ */
+ at Scope(APPLICATION)
+ at BypassInterceptors
+public class JPAPermissionStore implements PermissionStore
+{
+ public boolean grantPermission(String target, String action, String account,
+ AccountType accountType)
+ {
+ return false;
+ }
+
+ public List<AccountPermission> listPermissions(String target, String action)
+ {
+ return null;
+ }
+
+ public List<AccountPermission> listPermissions(String target)
+ {
+ return null;
+ }
+
+ public boolean revokePermission(String target, String action,
+ String account, AccountType accountType)
+ {
+ return false;
+ }
+
+}
Added: trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java (rev 0)
+++ trunk/src/main/org/jboss/seam/security/permission/PermissionStore.java 2008-03-13 06:38:14 UTC (rev 7552)
@@ -0,0 +1,19 @@
+package org.jboss.seam.security.permission;
+
+import java.util.List;
+
+import org.jboss.seam.security.permission.AccountPermission.AccountType;
+
+/**
+ * Persistent store for user/role permissions
+ *
+ * @author Shane Bryzak
+ */
+public interface PermissionStore
+{
+ List<AccountPermission> listPermissions(String target, String action);
+ List<AccountPermission> listPermissions(String target);
+
+ boolean grantPermission(String target, String action, String account, AccountType accountType);
+ boolean revokePermission(String target, String action, String account, AccountType accountType);
+}
More information about the seam-commits
mailing list