You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2010/07/16 08:59:39 UTC
svn commit: r964695 - in /karaf/trunk/webconsole/branding: pom.xml
src/main/java/org/apache/karaf/webconsole/JaasSecurityProvider.java
Author: gnodet
Date: Fri Jul 16 06:59:39 2010
New Revision: 964695
URL: http://svn.apache.org/viewvc?rev=964695&view=rev
Log:
KARAF-121: Better exception handling in JaasSecurityProvider
Modified:
karaf/trunk/webconsole/branding/pom.xml
karaf/trunk/webconsole/branding/src/main/java/org/apache/karaf/webconsole/JaasSecurityProvider.java
Modified: karaf/trunk/webconsole/branding/pom.xml
URL: http://svn.apache.org/viewvc/karaf/trunk/webconsole/branding/pom.xml?rev=964695&r1=964694&r2=964695&view=diff
==============================================================================
--- karaf/trunk/webconsole/branding/pom.xml (original)
+++ karaf/trunk/webconsole/branding/pom.xml Fri Jul 16 06:59:39 2010
@@ -47,6 +47,11 @@
<artifactId>org.apache.felix.webconsole</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>
Modified: karaf/trunk/webconsole/branding/src/main/java/org/apache/karaf/webconsole/JaasSecurityProvider.java
URL: http://svn.apache.org/viewvc/karaf/trunk/webconsole/branding/src/main/java/org/apache/karaf/webconsole/JaasSecurityProvider.java?rev=964695&r1=964694&r2=964695&view=diff
==============================================================================
--- karaf/trunk/webconsole/branding/src/main/java/org/apache/karaf/webconsole/JaasSecurityProvider.java (original)
+++ karaf/trunk/webconsole/branding/src/main/java/org/apache/karaf/webconsole/JaasSecurityProvider.java Fri Jul 16 06:59:39 2010
@@ -17,18 +17,26 @@
package org.apache.karaf.webconsole;
import java.io.IOException;
+import java.security.GeneralSecurityException;
+
import javax.security.auth.Subject;
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.NameCallback;
import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.security.auth.login.AccountException;
+import javax.security.auth.login.FailedLoginException;
import javax.security.auth.login.LoginContext;
import org.apache.felix.webconsole.WebConsoleSecurityProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class JaasSecurityProvider implements WebConsoleSecurityProvider {
+ private static final Logger LOG = LoggerFactory.getLogger(WebConsoleSecurityProvider.class);
+
private String realm;
public String getRealm() {
@@ -57,7 +65,14 @@ public class JaasSecurityProvider implem
});
loginContext.login();
return subject;
- } catch (Exception e) {
+ } catch (FailedLoginException e) {
+ LOG.debug("Login failed", e);
+ return null;
+ } catch (AccountException e) {
+ LOG.warn("Account failure", e);
+ return null;
+ } catch (GeneralSecurityException e) {
+ LOG.error("General Security Exception", e);
return null;
}
}