Package org.restlet.security
Class Authorizer
- java.lang.Object
-
- org.restlet.Restlet
-
- org.restlet.routing.Filter
-
- org.restlet.security.Authorizer
-
- All Implemented Interfaces:
Uniform
- Direct Known Subclasses:
ConfidentialAuthorizer
,MethodAuthorizer
,RoleAuthorizer
public abstract class Authorizer extends Filter
Filter authorizing inbound request. It can be attached to protect a set of downstreamRestlet
andServerResource
objects.- Author:
- Jerome Louvel
- See Also:
- User Guide - Authorization
-
-
Field Summary
Fields Modifier and Type Field Description static Authorizer
ALWAYS
Authorizer returning true all the time.static Authorizer
AUTHENTICATED
Authorizer returning true for all authenticated requests.static Authorizer
NEVER
Authorizer returning false all the time.
-
Constructor Summary
Constructors Constructor Description Authorizer()
Default constructor.Authorizer(java.lang.String identifier)
Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract boolean
authorize(Request request, Response response)
Attempts to authorize the request.protected int
authorized(Request request, Response response)
Invoked upon successful authorization.protected int
beforeHandle(Request request, Response response)
Allows filtering before processing by the next Restlet.java.lang.String
getIdentifier()
Returns the identifier unique within an application.void
setIdentifier(java.lang.String identifier)
Sets the identifier unique within an application.protected int
unauthorized(Request request, Response response)
Invoked upon failed authorization.-
Methods inherited from class org.restlet.routing.Filter
afterHandle, doHandle, getNext, handle, hasNext, setNext, setNext, start, stop
-
Methods inherited from class org.restlet.Restlet
createFinder, finalize, getApplication, getAuthor, getContext, getDescription, getFinderClass, getLogger, getName, getOwner, handle, handle, handle, isStarted, isStopped, setAuthor, setContext, setDescription, setFinderClass, setName, setOwner
-
-
-
-
Field Detail
-
ALWAYS
public static final Authorizer ALWAYS
Authorizer returning true all the time.
-
AUTHENTICATED
public static final Authorizer AUTHENTICATED
Authorizer returning true for all authenticated requests. For unauthenticated requests, it sets the response's status toStatus.CLIENT_ERROR_UNAUTHORIZED
instead of the defaultStatus.CLIENT_ERROR_FORBIDDEN
.- See Also:
ClientInfo.isAuthenticated()
-
NEVER
public static final Authorizer NEVER
Authorizer returning false all the time.
-
-
Method Detail
-
authorize
protected abstract boolean authorize(Request request, Response response)
Attempts to authorize the request.- Parameters:
request
- The request sent.response
- The response to update.- Returns:
- True if the authorization succeeded.
-
authorized
protected int authorized(Request request, Response response)
Invoked upon successful authorization. ReturnsFilter.CONTINUE
by default.- Parameters:
request
- The request sent.response
- The response to update.- Returns:
- The filter continuation code.
-
beforeHandle
protected int beforeHandle(Request request, Response response)
Description copied from class:Filter
Allows filtering before processing by the next Restlet. ReturnsFilter.CONTINUE
by default.- Overrides:
beforeHandle
in classFilter
- Parameters:
request
- The request to handle.response
- The response to update.- Returns:
- The continuation status. Either
Filter.CONTINUE
orFilter.SKIP
orFilter.STOP
.
-
getIdentifier
public java.lang.String getIdentifier()
Returns the identifier unique within an application.- Returns:
- The identifier unique within an application.
-
setIdentifier
public void setIdentifier(java.lang.String identifier)
Sets the identifier unique within an application.- Parameters:
identifier
- The identifier unique within an application.
-
unauthorized
protected int unauthorized(Request request, Response response)
Invoked upon failed authorization. Sets the status toStatus.CLIENT_ERROR_FORBIDDEN
and returnsFilter.STOP
by default.- Parameters:
request
- The request sent.response
- The response to update.- Returns:
- The filter continuation code.
-
-