KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > raptus > owxv3 > api > LoginAction


1 /*
2  * eAdmin/OWX
3  * Copyright (C) 1996-2003 OWX-Project Team <owx-team@gmx.net>
4  */

5
6 package com.raptus.owxv3.api;
7
8 import javax.servlet.http.*;
9
10 import com.raptus.owxv3.*;
11
12 /**
13  *
14  * <hr>
15  * <table width="100%" border="0">
16  * <tr>
17  * <td width="24%"><b>Filename</b></td><td width="76%">LoginAction.java</td>
18  * </tr>
19  * <tr>
20  * <td width="24%"><b>Author</b></td><td width="76%">Guy Z�rcher (gzuercher@raptus.com)</td>
21  * </tr>
22  * <tr>
23  * <td width="24%"><b>Date</b></td><td width="76%">20th of April 2001</td>
24  * </tr>
25  * </table>
26  * <hr>
27  * <table width="100%" border="0">
28  * <tr>
29  * <td width="24%"><b>Date / Author</b></td><td width="76%"><b>Changes</b></td>
30  * </tr>
31  * </table>
32  * <hr>
33  */

34 public class LoginAction extends OmniaWebAction
35 {
36     /**
37      *
38      */

39     protected boolean loginUser(HttpServletRequest request, String JavaDoc username, String JavaDoc password)
40     {
41         // check if the user is already in the session
42
boolean cached = true;
43
44         HttpSession session = request.getSession();
45         //User user = checkForUserInSession(session);
46
com.raptus.owxv3.api.usermgr.User user = checkForUserInSession(session);
47         if(user == null)
48         {
49
50             // parameter check
51
if(username != null && username.length() > 0 &&
52                password != null && password.length() > 0)
53             {
54                 // the user has not logged in yet or is new
55
LoggingManager.log("User " + username + " not found in session. Creating a new", this);
56
57                 cached = false;
58                 //UserManager um = new UserManager();
59
//user = um.getUser(username, password); // null is wrong user
60
user = com.raptus.owxv3.api.usermgr.UserMgrFactory.getInstance().createUserManager(null).getUser(username, password);
61
62                 if(user != null)
63                 {
64                     session.setAttribute(Constants.SESSIONKEY_USER, user);
65                     LoggingManager.log("User logged in, locale is:"+user.getLocale(), this);
66                     setLocale(request, user.getLocale());
67                 }
68                 else
69                     LoggingManager.log("FAILED to create user " + username, this);
70             }
71         }
72         else
73             LoggingManager.log("User already in session", this);
74
75         if(user != null)
76         {
77             // TO DO validity of the logged in user?!
78
//if(!user.isValid())
79
// LoggingManager.log("WARNING! User " + user.getIdentification() + " is tagged " +
80
// "INVALID! (Minimum password length is 5)", this);
81

82             // user is successfully logged in
83
LoggingManager.log("User " + user.getUsername() + " has " +
84                                ((cached == true) ? " re-logged" : " logged") + " in", this);
85             return true;
86         }
87
88         return false;
89     }
90
91     /**
92      *
93      */

94     protected boolean logoutUser(HttpSession session)
95     {
96         com.raptus.owxv3.api.usermgr.User user = checkForUserInSession(session);
97         if(user != null)
98         {
99             session.removeAttribute(Constants.SESSIONKEY_USER);
100             session.invalidate();
101
102             LoggingManager.log("User " + user.getUsername() +
103                                " has successfully logged out", this);
104             return true;
105         }
106         else
107             LoggingManager.log("FAILED to logout user, because there was none in the session.", this);
108
109         return false;
110     }
111
112 }
113
114 // eof
115
Popular Tags