Author: markt
Date: Tue Jun 23 09:18:44 2015
New Revision: 1687001

URL: http://svn.apache.org/r1687001
Log:
Implemented JASPIC password callback support
Patch by fjodorver

Modified:
    
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java?rev=1687001&r1=1687000&r2=1687001&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java
 Tue Jun 23 09:18:44 2015
@@ -17,7 +17,7 @@
 package org.apache.catalina.authenticator.jaspic;
 
 import java.io.IOException;
-import java.util.Collections;
+import java.security.Principal;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.Callback;
@@ -80,9 +80,14 @@ public class JaspicCallbackHandler imple
     private void handlePasswordValidationCallback(
             PasswordValidationCallback passwordValidationCallback) {
         Subject subject = passwordValidationCallback.getSubject();
+        String username = passwordValidationCallback.getUsername();
+        String password = new String(passwordValidationCallback.getPassword());
 
-        passwordValidationCallback.setResult(true);
-        subject.getPrincipals().add(
-                new GenericPrincipal("user", "password", 
Collections.singletonList("user")));
+        Principal principal = realm.authenticate(username, password);
+        passwordValidationCallback.setResult(principal != null);
+
+        if (principal != null) {
+            subject.getPrivateCredentials().add(principal);
+        }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to