KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jresearch > gossip > actions > user > LogoutAction


1 /*
2  * $$Id: LogoutAction.java,v 1.3 2005/06/07 12:32:29 bel70 Exp $$
3  *
4  * ***** BEGIN LICENSE BLOCK *****
5  * The contents of this file are subject to the Mozilla Public License
6  * Version 1.1 (the "License"); you may not use this file except in
7  * compliance with the License. You may obtain a copy of the License
8  * at http://www.mozilla.org/MPL/
9  *
10  * Software distributed under the License is distributed on an "AS IS"
11  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
12  * the License for the specific language governing rights and
13  * limitations under the License.
14  *
15  * The Original Code is JGossip forum code.
16  *
17  * The Initial Developer of the Original Code is the JResearch, Org.
18  * Portions created by the Initial Developer are Copyright (C) 2004
19  * the Initial Developer. All Rights Reserved.
20  *
21  * Contributor(s):
22  * Dmitry Belov <bel@jresearch.org>
23  *
24  * ***** END LICENSE BLOCK ***** */

25 /*
26  * Created on 16.05.2003
27  *
28  */

29 package org.jresearch.gossip.actions.user;
30
31 import javax.servlet.http.Cookie JavaDoc;
32 import javax.servlet.http.HttpServletRequest JavaDoc;
33 import javax.servlet.http.HttpServletResponse JavaDoc;
34 import javax.servlet.http.HttpSession JavaDoc;
35
36 import org.apache.struts.action.Action;
37 import org.apache.struts.action.ActionForm;
38 import org.apache.struts.action.ActionForward;
39 import org.apache.struts.action.ActionMapping;
40 import org.apache.struts.util.MessageResources;
41 import org.jresearch.gossip.IConst;
42 import org.jresearch.gossip.beans.user.User;
43 import org.jresearch.gossip.configuration.Configurator;
44
45 /**
46  * DOCUMENT ME!
47  *
48  * @author Bel
49  */

50 public class LogoutAction extends Action {
51
52     /**
53      * DOCUMENT ME!
54      *
55      * @param mapping
56      * DOCUMENT ME!
57      * @param form
58      * DOCUMENT ME!
59      * @param request
60      * DOCUMENT ME!
61      * @param response
62      * DOCUMENT ME!
63      *
64      * @return DOCUMENT ME!
65      *
66      * @throws Exception
67      * DOCUMENT ME!
68      */

69     public ActionForward execute(ActionMapping mapping, ActionForm form,
70             HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response)
71             throws Exception JavaDoc {
72         if (IConst.VALUES.FALSE.equals(Configurator.getInstance().get(
73                 IConst.CONFIG.ENABLE_FORUM_SIGN_ON))) {
74             return (mapping.findForward(IConst.TOKEN.DENIED));
75         }
76
77         HttpSession JavaDoc session = request.getSession();
78         MessageResources messages = getResources(request);
79         User user = (User) session.getAttribute(IConst.SESSION.USER_KEY);
80
81         if (IConst.VALUES.TRUE.equals(Configurator.getInstance().get(
82                 IConst.CONFIG.ENABLE_AUTO_LOGIN))) {
83             // unset autolog cookies if needed...
84
if (user.getSettings().isAutologin()) {
85                 Cookie JavaDoc userCookie = new Cookie JavaDoc(IConst.COOKIE.USER_COOKIE, "");
86                 userCookie.setMaxAge(IConst.COOKIE.SECONDS_PER_YEAR);
87                 ((HttpServletResponse JavaDoc) response).addCookie(userCookie);
88             }
89         }
90         session.invalidate();
91
92         return (mapping.findForward(IConst.TOKEN.WELCOME));
93     }
94 }
Popular Tags