Package org.apache.wiki.auth.login
Class CookieAssertionLoginModule
- java.lang.Object
-
- org.apache.wiki.auth.login.AbstractLoginModule
-
- org.apache.wiki.auth.login.CookieAssertionLoginModule
-
- All Implemented Interfaces:
javax.security.auth.spi.LoginModule
public class CookieAssertionLoginModule extends AbstractLoginModule
Logs in a user based on assertion of a name supplied in a cookie. If the cookie is not found, authentication fails.
This module must be used with a CallbackHandler (such asWebContainerCallbackHandler) that supports the following Callback types:HttpRequestCallback- supplies the cookie, which should contain a user name.
After authentication, a generic WikiPrincipal based on the username will be created and associated with the Subject.
- Since:
- 2.3
- See Also:
LoginModule.commit(),CookieAuthenticationLoginModule
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPREFS_COOKIE_NAMEThe name of the cookie that gets stored to the user browser.-
Fields inherited from class org.apache.wiki.auth.login.AbstractLoginModule
m_handler, m_options, m_principals, m_state, m_subject, NULL
-
-
Constructor Summary
Constructors Constructor Description CookieAssertionLoginModule()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidclearUserCookie(javax.servlet.http.HttpServletResponse response)Removes the user cookie from the response.static java.lang.StringgetUserCookie(javax.servlet.http.HttpServletRequest request)Returns the username cookie value.booleanlogin()Logs in the user by calling back to the registered CallbackHandler with a series of callbacks.static voidsetUserCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name)Sets the username cookie.-
Methods inherited from class org.apache.wiki.auth.login.AbstractLoginModule
abort, commit, initialize, logout
-
-
-
-
Field Detail
-
PREFS_COOKIE_NAME
public static final java.lang.String PREFS_COOKIE_NAME
The name of the cookie that gets stored to the user browser.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CookieAssertionLoginModule
public CookieAssertionLoginModule()
-
-
Method Detail
-
login
public boolean login() throws javax.security.auth.login.LoginException
Logs in the user by calling back to the registered CallbackHandler with a series of callbacks. If the login succeeds, this method returnstrueLogs in the user by calling back to the registered CallbackHandler with an HttpRequestCallback. The CallbackHandler must supply the current servlet HTTP request as its response.- Specified by:
loginin interfacejavax.security.auth.spi.LoginModule- Specified by:
loginin classAbstractLoginModule- Returns:
- the result of the login; if a cookie is
found, this method returns
true. If not found, this method throws aFailedLoginException. - Throws:
javax.security.auth.login.LoginException- if the authentication fails- See Also:
LoginModule.login()
-
getUserCookie
public static java.lang.String getUserCookie(javax.servlet.http.HttpServletRequest request)
Returns the username cookie value.- Parameters:
request- The Servlet request, as usual.- Returns:
- the username, as retrieved from the cookie
-
setUserCookie
public static void setUserCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name)
Sets the username cookie. The cookie value is URLEncoded in UTF-8.- Parameters:
response- The Servlet responsename- The name to write into the cookie.
-
clearUserCookie
public static void clearUserCookie(javax.servlet.http.HttpServletResponse response)
Removes the user cookie from the response. This makes the user appear again as an anonymous coward.- Parameters:
response- The servlet response.
-
-