You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2011/10/24 08:34:13 UTC

svn commit: r1188030 - in /karaf/trunk/jaas/modules/src/main: java/org/apache/karaf/jaas/modules/ java/org/apache/karaf/jaas/modules/jdbc/ java/org/apache/karaf/jaas/modules/osgi/ java/org/apache/karaf/jaas/modules/properties/ resources/OSGI-INF/bluepr...

Author: ffang
Date: Mon Oct 24 06:34:12 2011
New Revision: 1188030

URL: http://svn.apache.org/viewvc?rev=1188030&view=rev
Log:
[KARAF-956]jaas module by default should throw generic FailedLoginException 

Modified:
    karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/AbstractKarafLoginModule.java
    karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java
    karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/osgi/OsgiConfigLoginModule.java
    karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java
    karaf/trunk/jaas/modules/src/main/resources/OSGI-INF/blueprint/karaf-jaas-module.xml

Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/AbstractKarafLoginModule.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/AbstractKarafLoginModule.java?rev=1188030&r1=1188029&r2=1188030&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/AbstractKarafLoginModule.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/AbstractKarafLoginModule.java Mon Oct 24 06:34:12 2011
@@ -38,9 +38,10 @@ public abstract class AbstractKarafLogin
     protected CallbackHandler callbackHandler;
     protected boolean debug;
     protected Map<String, ?> options;
-
+   
     protected String rolePolicy;
     protected String roleDiscriminator;
+    protected boolean detailedLoginExcepion;
 
     /**
      * the bundle context is required to use the encryption service
@@ -70,6 +71,7 @@ public abstract class AbstractKarafLogin
         this.rolePolicy = (String) options.get("role.policy");
         this.roleDiscriminator = (String) options.get("role.discriminator");
         this.debug = Boolean.parseBoolean((String) options.get("debug"));
+        this.detailedLoginExcepion = Boolean.parseBoolean((String) options.get("detailed.login.exception"));
         // the bundle context is set in the Config JaasRealm by default
         this.bundleContext = (BundleContext) options.get(BundleContext.class.getName());
         encryptionSupport = new EncryptionSupport(options);

Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java?rev=1188030&r1=1188029&r2=1188030&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/jdbc/JDBCLoginModule.java Mon Oct 24 06:34:12 2011
@@ -114,12 +114,20 @@ public class JDBCLoginModule extends Abs
             passwordResultSet = passwordStatement.executeQuery();
 
             if (!passwordResultSet.next()) {
-                throw new LoginException("User " + user + " does not exist");
+            	if (!this.detailedLoginExcepion) {
+            		throw new LoginException("login failed");
+            	} else {
+            		throw new LoginException("User " + user + " does not exist");
+            	}
             } else {
                 String storedPassword = passwordResultSet.getString(1);
 
                 if (!checkPassword(password, storedPassword)) {
-                    throw new LoginException("Password for " + user + " does not match");
+                	if (!this.detailedLoginExcepion) {
+                		throw new LoginException("login failed");
+                	} else {
+                		throw new LoginException("Password for " + user + " does not match");
+                	}
                 }
                 principals.add(new UserPrincipal(user));
             }

Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/osgi/OsgiConfigLoginModule.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/osgi/OsgiConfigLoginModule.java?rev=1188030&r1=1188029&r2=1188030&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/osgi/OsgiConfigLoginModule.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/osgi/OsgiConfigLoginModule.java Mon Oct 24 06:34:12 2011
@@ -68,14 +68,22 @@ public class OsgiConfigLoginModule exten
 
             String userInfos = (String) properties.get(USER_PREFIX + user);
             if (userInfos == null) {
-                throw new FailedLoginException("User does not exist");
+            	if (!this.detailedLoginExcepion) {
+            		throw new FailedLoginException("login failed");
+            	} else {
+            		throw new FailedLoginException("User does not exist");
+            	}
             }
             String[] infos = userInfos.split(",");
             String storedPassword = infos[0];
 
             // check the provided password
             if (!checkPassword(password, storedPassword)) {
-                throw new FailedLoginException("Password for " + user + " does not match");
+            	if (!this.detailedLoginExcepion) {
+            		throw new FailedLoginException("login failed");
+            	} else {
+            		throw new FailedLoginException("Password for " + user + " does not match");
+            	}
             }
 
             principals = new HashSet<Principal>();

Modified: karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java?rev=1188030&r1=1188029&r2=1188030&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java (original)
+++ karaf/trunk/jaas/modules/src/main/java/org/apache/karaf/jaas/modules/properties/PropertiesLoginModule.java Mon Oct 24 06:34:12 2011
@@ -91,7 +91,11 @@ public class PropertiesLoginModule exten
             //error handled in the next statement
         }
         if (userInfos == null) {
-            throw new FailedLoginException("User " + user + " does not exist");
+        	if (!this.detailedLoginExcepion) {
+        		throw new FailedLoginException("login failed");
+        	} else {
+        		throw new FailedLoginException("User " + user + " does not exist");
+        	}
         }
         
         // the password is in the first position
@@ -132,7 +136,11 @@ public class PropertiesLoginModule exten
 
         // check the provided password
         if (!checkPassword(password, storedPassword)) {
-            throw new FailedLoginException("Password for " + user + " does not match");
+        	if (!this.detailedLoginExcepion) {
+        		throw new FailedLoginException("login failed");
+        	} else {
+        		throw new FailedLoginException("Password for " + user + " does not match");
+        	}
         }
 
         principals = new HashSet<Principal>();

Modified: karaf/trunk/jaas/modules/src/main/resources/OSGI-INF/blueprint/karaf-jaas-module.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/jaas/modules/src/main/resources/OSGI-INF/blueprint/karaf-jaas-module.xml?rev=1188030&r1=1188029&r2=1188030&view=diff
==============================================================================
--- karaf/trunk/jaas/modules/src/main/resources/OSGI-INF/blueprint/karaf-jaas-module.xml (original)
+++ karaf/trunk/jaas/modules/src/main/resources/OSGI-INF/blueprint/karaf-jaas-module.xml Mon Oct 24 06:34:12 2011
@@ -32,6 +32,7 @@
     <!-- AdminConfig property place holder for the org.apache.karaf.jaas  -->
     <cm:property-placeholder persistent-id="org.apache.karaf.jaas" update-strategy="reload">
         <cm:default-properties>
+            <cm:property name="detailed.login.exception" value="false"/>
             <cm:property name="encryption.name" value=""/>
             <cm:property name="encryption.enabled" value="false"/>
             <cm:property name="encryption.prefix" value="{CRYPT}"/>
@@ -44,6 +45,7 @@
     <jaas:config name="karaf">
         <jaas:module className="org.apache.karaf.jaas.modules.properties.PropertiesLoginModule" flags="required">
             users = $[karaf.base]/etc/users.properties
+            detailed.login.exception = ${detailed.login.exception}
             encryption.name = ${encryption.name}
             encryption.enabled = ${encryption.enabled}
             encryption.prefix = ${encryption.prefix}