Author: shane.bryzak(a)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
+ */
+@Scope(APPLICATION)
+@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);
+}
Show replies by date