You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jl...@apache.org on 2006/12/12 14:19:04 UTC
svn commit: r486131 -
/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
Author: jlim
Date: Tue Dec 12 05:19:03 2006
New Revision: 486131
URL: http://svn.apache.org/viewvc?view=rev&rev=486131
Log:
added fix for https://issues.apache.org/activemq/browse/AMQ-908
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java?view=diff&rev=486131&r1=486130&r2=486131
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/security/AuthorizationEntry.java Tue Dec 12 05:19:03 2006
@@ -41,6 +41,10 @@
private Set writeACLs = Collections.EMPTY_SET;
private Set adminACLs = Collections.EMPTY_SET;
+ private String adminRoles = null;
+ private String readRoles = null;
+ private String writeRoles = null;
+
private String groupClass = "org.apache.activemq.jaas.GroupPrincipal";
public String getGroupClass() {
@@ -76,17 +80,23 @@
}
// helper methods for easier configuration in Spring
+ // ACLs are already set in the afterPropertiesSet method to ensure that groupClass is set first before
+ // calling parceACLs() on any of the roles. We still need to add the call to parceACLs inside the helper
+ // methods for instances where we configure security programatically without using xbean
// -------------------------------------------------------------------------
public void setAdmin(String roles) throws Exception {
- setAdminACLs(parseACLs(roles));
+ adminRoles = roles;
+ setAdminACLs(parseACLs(adminRoles));
}
public void setRead(String roles) throws Exception {
- setReadACLs(parseACLs(roles));
+ readRoles = roles;
+ setReadACLs(parseACLs(readRoles));
}
public void setWrite(String roles) throws Exception {
- setWriteACLs(parseACLs(roles));
+ writeRoles = roles;
+ setWriteACLs(parseACLs(writeRoles));
}
protected Set parseACLs(String roles) throws Exception {
@@ -133,4 +143,21 @@
}
return answer;
}
+
+ public void afterPropertiesSet() throws Exception {
+ super.afterPropertiesSet();
+
+ if(adminRoles!=null) {
+ setAdminACLs(parseACLs(adminRoles));
+ }
+
+ if(writeRoles!=null) {
+ setWriteACLs(parseACLs(writeRoles));
+ }
+
+ if(readRoles!=null) {
+ setReadACLs(parseACLs(readRoles));
+ }
+
+ }
}