Hello all,

I have a little problem with displaying an "Invalid login" message on
my login page. I am using tomcat 5.0.28 and struts 1.2.4

I have a login.jsp that looks like this:

<html:form action="login">
<!-- table stuff mostly snipped -->
    <td><bean:message key="logon.title"/></td>
    <td><bean:message key="logon.username"/></td>
    <td><html:text property="userName" value="" /></td>
    <td><bean:message key="logon.password"/></td>
    <td><html:password property="password" value="" /></td>

   <div align="right"><html:submit property="submit">
    <bean:message key="logon.button.label"/>
    </html:submit>
</html:form>
<html:errors/>

In my ActionForm, the validate method looks like this:

public ActionErrors validate(ActionMapping mapping, HttpServletRequest
request) {
    ActionErrors errors = new ActionErrors();
    if (userName == null || userName.length() == 0) {
          errors.add("username", new ActionMessage("errors.username.required"));
    }
    if (password == null || password.length() == 0) {
         errors.add("password", new ActionMessage("errors.password.required"));
    }
    return errors;
}

When I leave username or password fields empty, I get the proper error
messages as I expect, however, in my Action class "LoginAction" I have
the following code to handel illegal logins:

if (user != null) {
    fwd = mapping.findForward(SUCCESS);
    session.setAttribute("userName", userName);
    session.setAttribute("user", user);
} else {
    ActionMessages errors = new ActionMessages();
    errors.add(ActionMessages.GLOBAL_MESSAGE, new 
                                                      
ActionMessage("errors.invalidlogin"));
    saveMessages(request, errors);
    fwd = mapping.findForward(ERROR);
    log.info(userName + " tried to login with invalid credentials.");
}

I have the "errors.invalidlogin" in application.properties file:
errors.invalidlogin=Invalid username and password combination.
(Other messages in that file are displayed properly, so the file is
read and found by struts and the servlet container.)

My struts-config.xml has these relevant tags:

<form-beans>
    
   <form-bean name="LoginForm" type="my.package.LoginForm" />
   <!-- others snipped -->
 </form-beans>

<action path="/login"
  type="my.package.LoginAction"
  name="LoginForm"
  scope="session"
  input="/login.jsp">
  <forward name="success" path="/Welcome.do" redirect="true" />
  <forward name="error" path="/login.jsp" redirect="true" />
</action>

Does anybody have a clue as to what I am doing wrong? As far as I can
see, I'm doing everything the way it is described in the jakarta
o'reilly book (Cavaness).

Thank you all very much in advance for any input,

Ian.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to