[jboss-svn-commits] JBL Code SVN: r35850 - labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/security.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Nov 3 12:34:16 EDT 2010
Author: tsurdilovic
Date: 2010-11-03 12:34:16 -0400 (Wed, 03 Nov 2010)
New Revision: 35850
Modified:
labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/security/SecurityServiceImpl.java
Log:
BRMS-422 : If a user fails to configure the serialization keystore - the first indication of a problem may be when the sample mortgage rules fails to configure
Modified: labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/security/SecurityServiceImpl.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/security/SecurityServiceImpl.java 2010-11-03 15:36:15 UTC (rev 35849)
+++ labs/jbossrules/soa_branches/BRMS-5.1.x/drools-guvnor/src/main/java/org/drools/guvnor/server/security/SecurityServiceImpl.java 2010-11-03 16:34:16 UTC (rev 35850)
@@ -64,7 +64,10 @@
public static final String GUEST_LOGIN = "guest";
private static final Logger log = LoggerFactory.getLogger( SecurityServiceImpl.class );
static final Map<String, String> PREFERENCES = loadPrefs();
+ private static String[] serializationProperties = new String[] {"drools.serialization.private.keyStoreURL", "drools.serialization.private.keyStorePwd",
+ "drools.serialization.private.keyAlias", "drools.serialization.private.keyPwd", "drools.serialization.public.keyStoreURL", "drools.serialization.public.keyStorePwd"};
+
public boolean login(String userName,
String password) {
@@ -158,12 +161,32 @@
Identity.instance().logout();
throw new AuthorizationException( "This user has no permissions setup." );
}
+ if(invalidSecuritySerilizationSetup()) {
+ Identity.instance().logout();
+ throw new AuthorizationException( " Configuration error - Please refer to the Administration Guide section on installation. You must configure a key store before proceding. " );
+ }
return c.calcCapabilities( permissions,
PREFERENCES );
} else {
+ if(invalidSecuritySerilizationSetup()) {
+ throw new AuthorizationException( " Configuration error - Please refer to the Administration Guide section on installation. You must configure a key store before proceding. " );
+ }
return Capabilities.all( PREFERENCES );
}
}
+
+ private boolean invalidSecuritySerilizationSetup() {
+ String ssecurity = System.getProperty("drools.serialization.sign");
+ if(ssecurity != null && ssecurity.equalsIgnoreCase( "true" )) {
+ for(String nextProp : serializationProperties) {
+ String nextPropVal = System.getProperty(nextProp);
+ if(nextPropVal == null || nextPropVal.trim().equals("")) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
private static Map<String, String> loadPrefs() {
Properties ps = new Properties();
More information about the jboss-svn-commits
mailing list