|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.jalios.jcms.authentication.AuthenticationHandler com.jalios.jcms.authentication.handlers.AuthKeyAuthenticationHandler
public class AuthKeyAuthenticationHandler
Authenticates users using an "authentication key" parameter valid only for the request for which it is processed.
The Authentication key parameter name can be configured by changing
property "auth-mgr.authkey-name"
, see getAuthKeyName()
.
Default duration of AuthenticationKey can be configured by changing
property "auth-mgr.authkey-duration"
, see getDefaultAuthKeyDuration()
.
Field Summary | |
---|---|
static String |
AUTHENTICATION_FROM_AUTHKEY
Name of request attribute indicating that this request was authenticated using AuthKey |
static int |
ORDER_AUTHKEY_HANDLER
Order used by the AuthKeyAuthenticationHandler |
static String |
REVISION
|
Fields inherited from class com.jalios.jcms.authentication.AuthenticationHandler |
---|
channel, GENERIC_BAD_AUTHENTICATION_MSG |
Method Summary | |
---|---|
static Member |
checkAuthenticationFromAuthKey(javax.servlet.http.HttpServletRequest request)
Returns the member corresponding to the credentials given in the authkey parameter, if any. |
static String |
getAuthKeyName()
Retrieves the authentication key parameter name. Default is "authKey" and can be changed using property "auth-mgr.authkey-name" . |
static String |
getAuthKeyValue(String url,
Member member)
Retrieves a valid authentication key parameter value for the specified URL. |
static String |
getAuthKeyValue(String url,
Member member,
AuthKeyHints hints)
Retrieves a valid authentication key parameter value for the specified URL. |
static String |
getAuthKeyValue(String url,
Member member,
long duration)
Retrieves a valid authentication key parameter value for the specified URL. |
static long |
getDefaultAuthKeyDuration()
Retrieves the default authentication key duration (expiration time) to be used when no expiration duration as been specified. Default is one year and can be changed using property "auth-mgr.authkey-duration" .Warning : this default duration is only used when developper did not specified an explicit duration when generating the authkey value or url. |
static AuthKeyAuthenticationHandler |
getInstance()
|
static String |
getUrlWithAddedAuthKeyParam(javax.servlet.http.HttpServletRequest request,
Member member)
Retrieve the absolute url of the specified request with a valid authentication key parameter name/value appended. |
static String |
getUrlWithAddedAuthKeyParam(javax.servlet.http.HttpServletRequest request,
Member member,
long duration)
Retrieve the absolute url of the specified request with a valid authentication key parameter name/value appended. |
static String |
getUrlWithAddedAuthKeyParam(String url,
Member member)
Append a valid authentication key parameter name/value to the specified URL. |
static String |
getUrlWithAddedAuthKeyParam(String url,
Member member,
AuthKeyHints hints,
boolean escapeAmpersand)
Append a valid authentication key parameter name/value to the specified URL. |
static String |
getUrlWithAddedAuthKeyParam(String url,
Member member,
long duration)
Append a valid authentication key parameter name/value to the specified URL. |
static String |
getUrlWithAddedAuthKeyParam(String url,
Member member,
long duration,
boolean escapeAmpersand)
Append a valid authentication key parameter name/value to the specified URL. |
static boolean |
isAuthenticatedWithAuthKey(javax.servlet.http.HttpServletRequest request)
Check if the specified request was authenticated using an AuthKey |
static Member |
isValidAuthKey(String url,
String authKey,
javax.servlet.http.HttpServletRequest request)
Checks if the given auth key is valid and if it is, returns the member to login. |
void |
loadProperties()
This method will be called by the AuthenticationManager each time the Channel properties are loaded/reloaded. You can use it to reload properties that might have been changed. This method is called during initialization of the AuthenticationManager |
void |
login(AuthenticationContext ctxt)
Authenticate a member. |
Methods inherited from class com.jalios.jcms.authentication.AuthenticationHandler |
---|
compareTo, equals, getOrder, init, logout, setOrder |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String REVISION
public static final String AUTHENTICATION_FROM_AUTHKEY
public static final int ORDER_AUTHKEY_HANDLER
Method Detail |
---|
public static final AuthKeyAuthenticationHandler getInstance()
public void loadProperties()
AuthenticationHandler
loadProperties
in class AuthenticationHandler
public void login(AuthenticationContext ctxt) throws IOException
AuthenticationHandler
AuthenticationContext
object (request, response, login.. etc) AuthenticationContext.setLoggedMember(com.jalios.jcms.Member)
AuthenticationContext.doChain()
,AuthenticationContext
.
login
in class AuthenticationHandler
ctxt
- the AuthenticationContext
used for this login
IOException
public static boolean isAuthenticatedWithAuthKey(javax.servlet.http.HttpServletRequest request)
request
- the current HttpServletRequest, may be null
public static final Member checkAuthenticationFromAuthKey(javax.servlet.http.HttpServletRequest request)
request
- the request where to look for authkey param
public static final String getUrlWithAddedAuthKeyParam(javax.servlet.http.HttpServletRequest request, Member member)
If the specified member is null, the url of the request is returned.
If there are existing parameter(s) to the specified request, the html entity & will be used for the ampersand required to append the parameter.
request
- the request for which an authentication key will be computedmember
- the member that will be allowed to access the resource of the specified url
IllegalArgumentException
- if request is nullpublic static final String getUrlWithAddedAuthKeyParam(javax.servlet.http.HttpServletRequest request, Member member, long duration)
If the specified member is null, the url of the request is returned.
If there are existing parameter(s) to the specified request, the html entity & will be used for the ampersand required to append the parameter.
request
- the request for which an authentication key will be computedmember
- the member that will be allowed to access the resource of the specified urlduration
- a duration (in millisecond) after which the returned authkey will be expired (no longer valid).
If set to 0, no expiration is used, if set to -1 (or any negative number) default expiration time is used.
IllegalArgumentException
- if request is nullpublic static final String getUrlWithAddedAuthKeyParam(String url, Member member)
If the specified member is null, the url is returned untouched.
If there are existing parameter(s) to the specified url, the html entity & will be used for the ampersand required to append the parameter.
url
- the absolute URL for which an authentication key will be computedmember
- the member that will be allowed to access the resource of the specified url
IllegalArgumentException
- if url is nullpublic static final String getUrlWithAddedAuthKeyParam(String url, Member member, long duration)
If the specified member is null, the url is returned untouched.
If there are existing parameter(s) to the specified url, the html entity & will be used for the ampersand required to append the parameter.
url
- the absolute URL for which an authentication key will be computedmember
- the member that will be allowed to access the resource of the specified urlduration
- a duration (in millisecond) after which the returned authkey will be expired (no longer valid).
If set to 0, no expiration is used, if set to -1 (or any negative number) default expiration time is used.
IllegalArgumentException
- if url is nullpublic static final String getUrlWithAddedAuthKeyParam(String url, Member member, long duration, boolean escapeAmpersand)
If the specified member is null, the url is returned untouched.
url
- the absolute URL for which an authentication key will be computedmember
- the member that will be allowed to access the resource of the specified urlduration
- a duration (in millisecond) after which the returned authkey will be expired (no longer valid).
If set to 0, no expiration is used, if set to -1 (or any negative number) default expiration time is used.escapeAmpersand
- will use "&" if true, "&" if false
IllegalArgumentException
- if url is nullpublic static final String getUrlWithAddedAuthKeyParam(String url, Member member, AuthKeyHints hints, boolean escapeAmpersand)
If the specified member is null, the url is returned untouched.
url
- the absolute URL for which an authentication key will be computedmember
- the member that will be allowed to access the resource of the specified urlhints
- the specific parametersescapeAmpersand
- will use "&" if true, "&" if false
IllegalArgumentException
- if url is nullpublic static final long getDefaultAuthKeyDuration()
"auth-mgr.authkey-duration"
.
public static final String getAuthKeyName()
"authKey"
and can be changed using property "auth-mgr.authkey-name"
.
public static final String getAuthKeyValue(String url, Member member)
url
- the absolute URL for which an authentication key will be computedmember
- the member that will be allowed to access the resource of the specified url, MUST NOT be null
IllegalArgumentException
- if url or member is nullpublic static final String getAuthKeyValue(String url, Member member, long duration)
url
- the absolute URL for which an authentication key will be computed, MUST NOT be nullmember
- the member that will be allowed to access the resource of the specified url, MUST NOT be nullduration
- a duration (in millisecond) after which the returned authkey will be expired (no longer valid).
If set to 0, no expiration is used, if set to -1 (or any negative number) default expiration time is used.
IllegalArgumentException
- if url or member is nullpublic static final String getAuthKeyValue(String url, Member member, AuthKeyHints hints)
url
- the absolute URL for which an authentication key will be computed, MUST NOT be nullmember
- the member that will be allowed to access the resource of the specified url, MUST NOT be nullhints
- additional parameter set in this javabean
IllegalArgumentException
- if url or member is nullpublic static final Member isValidAuthKey(String url, String authKey, javax.servlet.http.HttpServletRequest request)
url
- the absolute url against which the auth key will be checkedauthKey
- the authentication key to checksrequest
- the current request
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |