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