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}