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:
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 protected static org.apache.log4j.Loggerlogstatic 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
Modifier and Type Method Description static voidclearUserCookie(javax.servlet.http.HttpServletResponse response)Removes the user cookie from the response.static StringgetUserCookie(javax.servlet.http.HttpServletRequest request)Returns the username cookie value.booleanlogin()Logs in the user by calling back to the registered CallbackHandler with an HttpRequestCallback.static voidsetUserCookie(javax.servlet.http.HttpServletResponse response, String name)Sets the username cookie.Methods inherited from class org.apache.wiki.auth.login.AbstractLoginModule
abort, commit, initialize, logout
-
Field Details
-
PREFS_COOKIE_NAME
The name of the cookie that gets stored to the user browser.- See Also:
- Constant Field Values
-
log
-
-
Constructor Details
-
CookieAssertionLoginModule
public CookieAssertionLoginModule()
-
-
Method Details
-
login
Logs 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 interfaceLoginModule- 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:
LoginException- if the authentication fails- See Also:
LoginModule.login()
-
getUserCookie
Returns the username cookie value.- Parameters:
request- The Servlet request, as usual.- Returns:
- the username, as retrieved from the cookie
-
setUserCookie
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
Removes the user cookie from the response. This makes the user appear again as an anonymous coward.- Parameters:
response- The servlet response.
-