/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.squaleweb.applicationlayer.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.Globals; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; import org.squale.squalecommon.datatransfertobject.component.UserDTO; import org.squale.squaleweb.applicationlayer.action.accessRights.DefaultAction; import org.squale.squaleweb.applicationlayer.formbean.UserLoginForm; import org.squale.squaleweb.connection.AuthenticationBean; import org.squale.squaleweb.connection.UserBeanAccessorHelper; /** * Action class for the login. This action is call by the login.jsp when a user send his login and password for * authentication. */ public class UserLoginAction extends DefaultAction { /** * This method try to do the connection of the user. If the authentication succeed then the action login.do is call. * If the authentication failed then the user is redirect to the login.jsp page * * @param mapping : The mapping * @param form : The form to read * @param request : The http request * @param response : The servlet response * @return return the action to do */ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response ) { ActionForward forward = null; UserLoginForm loginForm = (UserLoginForm) form; String login = loginForm.getLogin(); String password = loginForm.getPass(); UserDTO user = new UserDTO(); user.setMatricule( login ); user.setPassword( password ); AuthenticationBean isUser = UserBeanAccessorHelper.getUserBeanAccessor().isUser( user ); if ( isUser != null && isUser.getIdentifier() != null) { HttpSession session = request.getSession(); session.setAttribute( "AuthenticatedUser", isUser ); forward = mapping.findForward( "success" ); }else { forward = mapping.findForward( "failure" ); loginForm.setPass( null ); ActionErrors error = new ActionErrors(); ActionMessage message = new ActionMessage( "authentication.error" ); error.add( "failed", message ); request.setAttribute( Globals.ERROR_KEY, error ); } return forward; } }