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.Logger
log
static String
PREFS_COOKIE_NAME
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 Constructor Description CookieAssertionLoginModule()
-
Method Summary
Modifier and Type Method Description static 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 an HttpRequestCallback.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:
- 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:
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:
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.
-