[jboss-svn-commits] JBL Code SVN: r21449 - in labs/jbossrules/trunk/drools-repository/src: test/java/org/drools/repository/security and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Aug 12 02:55:30 EDT 2008
Author: michael.neale at jboss.com
Date: 2008-08-12 02:55:30 -0400 (Tue, 12 Aug 2008)
New Revision: 21449
Modified:
labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java
labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java
Log:
Security stuff
Modified: labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java 2008-08-12 06:51:49 UTC (rev 21448)
+++ labs/jbossrules/trunk/drools-repository/src/main/java/org/drools/repository/security/PermissionManager.java 2008-08-12 06:55:30 UTC (rev 21449)
@@ -40,6 +40,8 @@
public void updateUserPermissions(String userName, Map<String, List<String>> perms) {
try {
Node permsNode = getUserPermissionNode(userName);
+ permsNode.remove(); //remove this so we get a fresh set
+ permsNode = getUserPermissionNode(userName);
for (Iterator<String> iterator = perms.keySet().iterator(); iterator.hasNext();) {
String perm = iterator.next();
List<String> targets = perms.get(perm);
@@ -144,9 +146,19 @@
getNode(root, "user_info").remove();
}
+ public void removeUserPermissions(String userName) {
+ try {
+ Node permsNode = getUserPermissionNode(userName);
+ permsNode.getParent().remove(); //remove this so we get a fresh set
+ } catch (RepositoryException e) {
+ throw new RulesRepositoryException(e);
+ }
+ }
+
+
}
Modified: labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java 2008-08-12 06:51:49 UTC (rev 21448)
+++ labs/jbossrules/trunk/drools-repository/src/test/java/org/drools/repository/security/PermissionManagerTest.java 2008-08-12 06:55:30 UTC (rev 21449)
@@ -43,14 +43,50 @@
List<String> aperms = perms_.get("admin");
assertEquals(0, aperms.size());
+ perms_.remove("admin");
+ assertEquals(0, perms_.size());
+ pm.updateUserPermissions("wankle2", perms_);
+ perms_ = pm.retrieveUserPermissions("wankle2");
+ assertEquals(0, perms_.size());
+
+
+
perms_ = pm.retrieveUserPermissions("wankle");
padmin = perms_.get("package.admin");
assertEquals(1, padmin.size());
assertEquals("1234567890", padmin.get(0));
+ assertTrue(pm.listUsers().containsKey("wankle"));
+ pm.removeUserPermissions("wankle");
+
+ assertFalse(pm.listUsers().containsKey("wankle"));
+
+
+
}
+ public void testUpdatePerms() throws Exception {
+ PermissionManager pm = new PermissionManager(RepositorySessionUtil.getRepository());
+ Map<String, List<String>> perms = new HashMap<String, List<String>>() {{
+ put("package.admin", new ArrayList<String>() {{add("1234567890");}});
+ put("package.developer", new ArrayList<String>() {{add("1"); add("2");}});
+ put("analyst", new ArrayList<String>() {{add("HR");}});
+ put("admin", new ArrayList<String>());
+ }};
+ pm.updateUserPermissions("testUpdatePermsWankle", perms);
+
+ perms = pm.retrieveUserPermissions("testUpdatePermsWankle");
+ assertEquals(4, perms.size());
+ perms.remove("package.developer");
+ pm.updateUserPermissions("testUpdatePermsWankle", perms);
+ perms = pm.retrieveUserPermissions("testUpdatePermsWankle");
+ assertEquals(3, perms.size());
+
+
+
+ }
+
public void testNilUser() throws Exception {
PermissionManager pm = new PermissionManager(RepositorySessionUtil.getRepository());
Map<String, List<String>> perms_ = pm.retrieveUserPermissions("nobody");
More information about the jboss-svn-commits
mailing list