|
| |
"Alternative Approaches to Architecting Logon and User Management"
Vol. 8, Issue 3, p. 23
Listing 1
String username = request.getParameter("username");
HttpSession session = ((HttpServletRequest)request).getSession(true);
boolean liu = LoggedInUserTable.isLoggedInUser(username);
if (!liu)
{
LoggedInUserTable.addLoggedInUser(session.getId(), username);
}
else
{
String userSessionId = LoggedInUserTable.getSessionId(username);
if ( userSessionId != session.getId())
{
((HttpServletResponse)response).sendRedirect("/Messages/notice.jsp");
}
}
Listing 2
public class UserTracker implements HttpSessionListener {
String sessionId = null;
public void sessionCreated(HttpSessionEvent e) {
}
public void sessionDestroyed(HttpSessionEvent e) {
LoggedInTable.removeLoggedInUser(e.getSession().getId());
}
}
Listing 3
public class LoggedInUserTable {
/** A Hashtable of all of the active users. */
private static Hashtable LoggedInUsers = new Hashtable ();
public static boolean isLoggedInUser (String username) {
return LoggedInUsers.containsValue(username);
}
public static void addLoggedInUser ( String sessionId, String username) {
LoggedInUsers.put (sessionId, username);
}
public static String getSessionId(String username) {
return (String) LoggedInUsers.get(username);
}
|
|
All Rights Reserved
Copyright © 2004 SYS-CON Media, Inc.
E-mail: info@sys-con.com
Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.
|