Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/apache/struts/faces/systest1/LogonAction.java


1   /*
2    * Copyright 2002,2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   *
16   * $Id: LogonAction.java 54934 2004-10-16 17:07:50Z germuska $
17   */
18  
19  package org.apache.struts.faces.systest1;
20  
21  import javax.servlet.http.HttpServletRequest;
22  import javax.servlet.http.HttpServletResponse;
23  
24  import org.apache.commons.beanutils.PropertyUtils;
25  import org.apache.commons.logging.Log;
26  import org.apache.commons.logging.LogFactory;
27  
28  import org.apache.struts.action.Action;
29  import org.apache.struts.action.ActionForm;
30  import org.apache.struts.action.ActionForward;
31  import org.apache.struts.action.ActionMapping;
32  import org.apache.struts.action.ActionError;
33  import org.apache.struts.action.ActionErrors;
34  
35  
36  /**
37   * <p>Action to process logon attempts.  It accepts only the combination
38   * "gooduser" and "goodpass", while rejecting all others.  Successful
39   * login requests a logical forward "login1", while unsuccessful login
40   * returns to the input form.</p>
41   */
42  
43  public class LogonAction extends Action {
44  
45  
46      private static final Log log = LogFactory.getLog(LogonAction.class);
47  
48  
49      /**
50       * <p>Process an attempted logon.</p>
51       */
52      public ActionForward execute(ActionMapping mapping,
53                                   ActionForm form,
54                                   HttpServletRequest request,
55                                   HttpServletResponse response)
56          throws Exception {
57  
58          ActionErrors errors = new ActionErrors();
59          String username = (String)
60              PropertyUtils.getSimpleProperty(form, "username");
61          if ((username == null) || ("".equals(username))) {
62              errors.add("username",
63                           new ActionError("logon.username"));
64          }
65          String password = (String)
66              PropertyUtils.getSimpleProperty(form, "password");
67          if ((password == null) || ("".equals(password))) {
68              errors.add("password",
69                           new ActionError("logon.password"));
70          }
71          if (log.isTraceEnabled()) {
72              log.trace("username=" + username + ",password=" + password);
73          }
74          if (errors.isEmpty() &&
75              (!"gooduser".equals(username) || !"goodpass".equals(password))) {
76              errors.add(ActionErrors.GLOBAL_ERROR,
77                           new ActionError("logon.mismatch"));
78          }
79          if (errors.isEmpty()) {
80              if (log.isDebugEnabled()) {
81                  log.debug("Successful logon, forwarding to logon1");
82              }
83              return (mapping.findForward("logon1"));
84          } else {
85              if (log.isDebugEnabled()) {
86                  log.debug("Unsuccessful logon, returning to input");
87              }
88              saveErrors(request, errors);
89              return (mapping.getInputForward());
90          }
91  
92  
93  
94      }
95  
96  
97  }