Index: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JAASRealm.java =================================================================== RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JAASRealm.java,v retrieving revision 1.4 diff -u -r1.4 JAASRealm.java --- jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JAASRealm.java 18 Jun 2002 09:14:49 -0000 1.4 +++ jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/realm/JAASRealm.java 28 Jun 2002 21:52:29 -0000 @@ -74,6 +74,7 @@ import javax.security.auth.login.FailedLoginException; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; +import javax.security.auth.callback.CallbackHandler; import org.apache.catalina.Lifecycle; import org.apache.catalina.LifecycleException; import org.apache.catalina.util.StringManager; @@ -283,8 +284,7 @@ LoginContext loginContext = null; try { loginContext = new LoginContext - (appName, new JAASCallbackHandler(this, username, - credentials)); + (appName, createCallbackHandler(username,credentials)); } catch (LoginException e) { log(sm.getString("jaasRealm.loginException", username), e); return (null); @@ -402,6 +402,18 @@ } + /** + * Constructs a CallbackHandler to be used with the JAAS LoginContext + * to handle the information needed by the configured LoginModule. + * + * @param username The user's login name. + * @param credentials The password supplied by the user. + * @return A CallbackHandler for the configured LoginModule. + */ + protected CallbackHandler createCallbackHandler(String username, + String credentials) { + return new JAASCallbackHandler(this, username, credentials); + } // ------------------------------------------------------ Lifecycle Methods