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
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The 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 -
Method Summary
Modifier and TypeMethodDescriptionstatic void
clearUserCookie
(javax.servlet.http.HttpServletResponse response) Removes the user cookie from the response.static String
getUserCookie
(javax.servlet.http.HttpServletRequest request) Returns the username cookie value.boolean
login()
Logs in the user by calling back to the registered CallbackHandler with a series of callbacks.static void
setUserCookie
(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:
-
-
Constructor Details
-
CookieAssertionLoginModule
public CookieAssertionLoginModule()
-
-
Method Details
-
login
Logs in the user by calling back to the registered CallbackHandler with a series of callbacks. If the login succeeds, this method returnstrue
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:
login
in interfaceLoginModule
- Specified by:
login
in 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:
-
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.
-