KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > LoginAction


1 /*
2  * LoginAction.java
3  *
4  * Created on 20. August 2003, 00:04
5  */

6
7 package org.contineo.actions;
8
9 import java.util.Locale JavaDoc;
10 import javax.servlet.http.HttpServletRequest JavaDoc;
11 import javax.servlet.http.HttpServletResponse JavaDoc;
12 import javax.servlet.http.HttpSession JavaDoc;
13 import org.apache.commons.beanutils.BeanUtils;
14 import org.apache.log4j.Level;
15 import org.apache.log4j.Logger;
16 import org.apache.struts.Globals;
17 import org.apache.struts.action.Action;
18 import org.apache.struts.action.ActionError;
19 import org.apache.struts.action.ActionErrors;
20 import org.apache.struts.action.ActionForm;
21 import org.apache.struts.action.ActionForward;
22 import org.apache.struts.action.ActionMapping;
23 import org.contineo.admin.User;
24 import org.contineo.admin.dao.UserDAO;
25 import org.contineo.core.CryptBean;
26 import org.contineo.core.LoggingManager;
27 /**
28  * This is an action for login.
29  * @author Michael Scholz
30  * @version 1.0
31  */

32 public class LoginAction extends Action {
33
34     /**
35      * @uml.property name="logger"
36      * @uml.associationEnd
37      */

38     private Logger logger;
39
40     
41     /** Creates a new instance of LoginAction */
42     public LoginAction() {
43         logger = LoggingManager.getLogger(this.getClass());
44     }
45
46     /**
47      * This method performs the action.
48      */

49     public ActionForward execute(ActionMapping mapping,
50                     ActionForm form, HttpServletRequest JavaDoc request,
51                     HttpServletResponse JavaDoc response) {
52         ActionForward actionForward = new ActionForward();
53         //LoginForm loginForm = (LoginForm)form;
54
String JavaDoc userName = "";
55         String JavaDoc password = "";
56         String JavaDoc language = "";
57         try {
58             userName = BeanUtils.getSimpleProperty(form, "userName");
59             password = BeanUtils.getSimpleProperty(form, "password");
60             language = BeanUtils.getSimpleProperty(form, "language");
61         } catch (Exception JavaDoc e) {
62             if (logger.isEnabledFor(Level.ERROR))
63                 logger.error(e.getMessage());
64         }
65         password = CryptBean.cryptString(password);
66         UserDAO userDao = new UserDAO();
67         //HttpSession sess = request.getSession();
68
//ServletContext context = sess.getServletContext();
69
if (userDao.validateUser(userName, password)) {
70             if (logger.isEnabledFor(Level.INFO))
71                 logger.info("User " + userName + " logged in.");
72             HttpSession JavaDoc session = request.getSession(true);
73             session.setAttribute("authuser", userName);
74             session.setAttribute("helppage", "index");
75             session.setAttribute("move", Boolean.valueOf(false));
76             if (language.equals("default")) {
77                 User user = userDao.findByPrimaryKey(userName);
78                 language = user.getLanguage();
79             }
80             session.setAttribute("language", language);
81             Locale JavaDoc locale = new Locale JavaDoc(language, "");
82             session.setAttribute(Globals.LOCALE_KEY, locale);
83             actionForward = mapping.findForward("login.success");
84         } else {
85             ActionErrors errors = new ActionErrors();
86             errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.password.mismatch"));
87             saveErrors(request,errors);
88             actionForward = mapping.findForward("login");
89         }
90         return actionForward;
91     }
92 }
93
Popular Tags