Package org.rundeck.core.auth.access
Class BaseAuthorizingResource<T>
- java.lang.Object
-
- org.rundeck.core.auth.access.BaseAuthorizingAccess
-
- org.rundeck.core.auth.access.BaseAuthorizingResource<T>
-
- Type Parameters:
T- resource type
- All Implemented Interfaces:
AuthorizingAccess,AuthorizingResource<T>
- Direct Known Subclasses:
BaseAuthorizingIdResource
public abstract class BaseAuthorizingResource<T> extends BaseAuthorizingAccess implements AuthorizingResource<T>
Provides base implementation for authorized resource of a specific type without ID (singleton)
-
-
Constructor Summary
Constructors Constructor Description BaseAuthorizingResource(com.dtolabs.rundeck.core.authorization.AuthContextProcessor rundeckAuthContextProcessor, javax.security.auth.Subject subject, NamedAuthProvider namedAuthActions)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Taccess(AuthActions actions)Access resource with required authorizationvoidauthorize(AuthActions actions)Check authorizationprotected abstract booleanexists()protected com.dtolabs.rundeck.core.authorization.AuthResourcegetAuthResource()protected abstract com.dtolabs.rundeck.core.authorization.AuthResourcegetAuthResource(T resource)TgetResource()Access resource without authorization checksprotected abstract java.lang.StringgetResourceIdent()protected abstract java.lang.StringgetResourceTypeName()TrequireActions(AuthActions actions)protected abstract java.util.Optional<T>retrieve()-
Methods inherited from class org.rundeck.core.auth.access.BaseAuthorizingAccess
authorizeNamed, getAuthContext, getNamedAuth, isAuthorized, isAuthorized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.rundeck.core.auth.access.AuthorizingAccess
authorizeNamed, getAuthContext, isAuthorized, isAuthorized
-
-
-
-
Constructor Detail
-
BaseAuthorizingResource
public BaseAuthorizingResource(com.dtolabs.rundeck.core.authorization.AuthContextProcessor rundeckAuthContextProcessor, javax.security.auth.Subject subject, NamedAuthProvider namedAuthActions)
-
-
Method Detail
-
getAuthResource
protected abstract com.dtolabs.rundeck.core.authorization.AuthResource getAuthResource(T resource)
- Returns:
- constructed authorization map for the resource
-
getResourceTypeName
protected abstract java.lang.String getResourceTypeName()
- Specified by:
getResourceTypeNamein classBaseAuthorizingAccess- Returns:
- resource type name
-
getResourceIdent
protected abstract java.lang.String getResourceIdent()
- Specified by:
getResourceIdentin classBaseAuthorizingAccess- Returns:
- primary ID value
-
retrieve
protected abstract java.util.Optional<T> retrieve()
- Returns:
- resource or null if it does not exist
-
exists
protected abstract boolean exists()
- Returns:
- resource or null if it does not exist
-
access
public T access(AuthActions actions) throws UnauthorizedAccess, NotFound
Description copied from interface:AuthorizingResourceAccess resource with required authorization- Specified by:
accessin interfaceAuthorizingResource<T>- Parameters:
actions- auth actions- Throws:
UnauthorizedAccess- if unauthorizedNotFound- if not found
-
authorize
public void authorize(AuthActions actions) throws UnauthorizedAccess, NotFound
Description copied from interface:AuthorizingAccessCheck authorization- Specified by:
authorizein interfaceAuthorizingAccess- Overrides:
authorizein classBaseAuthorizingAccess- Parameters:
actions- auth actions- Throws:
UnauthorizedAccess- if unauthorizedNotFound- if not found
-
getAuthResource
protected com.dtolabs.rundeck.core.authorization.AuthResource getAuthResource() throws NotFound- Specified by:
getAuthResourcein classBaseAuthorizingAccess- Returns:
- authorization resource map for the resource
- Throws:
NotFound
-
requireActions
public T requireActions(AuthActions actions) throws UnauthorizedAccess, NotFound
- Throws:
UnauthorizedAccessNotFound
-
getResource
public T getResource() throws NotFound
Description copied from interface:AuthorizingResourceAccess resource without authorization checks- Specified by:
getResourcein interfaceAuthorizingResource<T>- Returns:
- resource
- Throws:
NotFound- if not found
-
-