Browse Source

Allow last attempted username to be displayed in views.

Ben Alex 20 years ago
parent
commit
6c1e2f23b2

+ 5 - 0
core/src/main/java/org/acegisecurity/ui/webapp/AuthenticationProcessingFilter.java

@@ -50,6 +50,7 @@ public class AuthenticationProcessingFilter extends AbstractProcessingFilter {
 
     public static final String ACEGI_SECURITY_FORM_USERNAME_KEY = "j_username";
     public static final String ACEGI_SECURITY_FORM_PASSWORD_KEY = "j_password";
+    public static final String ACEGI_SECURITY_LAST_USERNAME_KEY = "ACEGI_SECURITY_LAST_USERNAME";
 
     //~ Methods ================================================================
 
@@ -81,6 +82,10 @@ public class AuthenticationProcessingFilter extends AbstractProcessingFilter {
         // Allow subclasses to set the "details" property
         setDetails(request, authRequest);
 
+        // Place the last username attempted into HttpSession for views
+        request.getSession().setAttribute(ACEGI_SECURITY_LAST_USERNAME_KEY,
+            username);
+
         return this.getAuthenticationManager().authenticate(authRequest);
     }
 

+ 2 - 1
samples/contacts/src/main/webapp/filter/acegilogin.jsp

@@ -1,5 +1,6 @@
 <%@ taglib prefix='c' uri='http://java.sun.com/jstl/core' %>
 <%@ page import="net.sf.acegisecurity.ui.AbstractProcessingFilter" %>
+<%@ page import="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter" %>
 <%@ page import="net.sf.acegisecurity.AuthenticationException" %>
 
 <html>
@@ -30,7 +31,7 @@
 
     <form action="<c:url value='j_acegi_security_check'/>" method="POST">
       <table>
-        <tr><td>User:</td><td><input type='text' name='j_username'></td></tr>
+        <tr><td>User:</td><td><input type='text' name='j_username' <c:if test="${not empty param.login_error}">value='<%= session.getAttribute(AuthenticationProcessingFilter.ACEGI_SECURITY_LAST_USERNAME_KEY) %>'</c:if>></td></tr>
         <tr><td>Password:</td><td><input type='password' name='j_password'></td></tr>
 
         <tr><td colspan='2'><input name="submit" type="submit"></td></tr>