[jboss-svn-commits] JBL Code SVN: r35851 - labs/jbossrules/trunk/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:35 EDT 2010
Author: tsurdilovic
Date: 2010-11-03 12:34:34 -0400 (Wed, 03 Nov 2010)
New Revision: 35851
Modified:
labs/jbossrules/trunk/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/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/security/SecurityServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/security/SecurityServiceImpl.java 2010-11-03 16:34:16 UTC (rev 35850)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/security/SecurityServiceImpl.java 2010-11-03 16:34:34 UTC (rev 35851)
@@ -64,6 +64,8 @@
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 +160,33 @@
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