Package org.nuxeo.ecm.core.security
Class SecurityService
- java.lang.Object
-
- org.nuxeo.runtime.model.DefaultComponent
-
- org.nuxeo.ecm.core.security.SecurityService
-
- All Implemented Interfaces:
Adaptable
,Component
,Extensible
,TimestampedService
public class SecurityService extends DefaultComponent
- Author:
- Bogdan Stefanescu, Olivier Grisel, Anahide Tchertchian
-
-
Field Summary
Fields Modifier and Type Field Description static ComponentName
NAME
static String
PERMISSIONS_EXTENSION_POINT
-
Fields inherited from class org.nuxeo.runtime.model.DefaultComponent
lastModified, name
-
-
Constructor Summary
Constructors Constructor Description SecurityService()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activate(ComponentContext context)
Activates the component.boolean
arePoliciesExpressibleInQuery(String repositoryName)
boolean
arePoliciesRestrictingPermission(String permission)
boolean
checkPermission(Document doc, NuxeoPrincipal principal, String permission)
void
deactivate(ComponentContext context)
Deactivates the component.Collection<String>
filterGrantedPermissions(Document doc, NuxeoPrincipal principal, Collection<String> permissions)
Filters the supplied permissions based on whether they are granted to a given principal for a given document.<T> T
getAdapter(Class<T> adapter)
Returns an object which is an instance of the given class associated with this object.PermissionProvider
getPermissionProvider()
String[]
getPermissionsToCheck(String permission)
Provides the full list of all permissions or groups of permissions that contain the given one (inclusive).Collection<SQLQuery.Transformer>
getPoliciesQueryTransformers(String repositoryName)
static String[]
getPrincipalsToCheck(NuxeoPrincipal principal)
void
registerContribution(Object contribution, String extensionPoint, ComponentInstance contributor)
void
unregisterContribution(Object contribution, String extensionPoint, ComponentInstance contributor)
-
Methods inherited from class org.nuxeo.runtime.model.DefaultComponent
addRuntimeMessage, addRuntimeMessage, getDescriptor, getDescriptors, getLastModified, getRegistry, register, registerExtension, setLastModified, setModifiedNow, setName, start, stop, unregister, unregisterExtension
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.nuxeo.runtime.model.Component
applicationStarted, getApplicationStartedOrder
-
-
-
-
Field Detail
-
NAME
public static final ComponentName NAME
-
PERMISSIONS_EXTENSION_POINT
public static final String PERMISSIONS_EXTENSION_POINT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SecurityService
public SecurityService()
-
-
Method Detail
-
activate
public void activate(ComponentContext context)
Description copied from interface:Component
Activates the component.This method is called by the runtime when a component is activated.
- Specified by:
activate
in interfaceComponent
- Overrides:
activate
in classDefaultComponent
- Parameters:
context
- the runtime context
-
deactivate
public void deactivate(ComponentContext context)
Description copied from interface:Component
Deactivates the component.This method is called by the runtime when a component is deactivated.
- Specified by:
deactivate
in interfaceComponent
- Overrides:
deactivate
in classDefaultComponent
- Parameters:
context
- the runtime context
-
registerContribution
public void registerContribution(Object contribution, String extensionPoint, ComponentInstance contributor)
- Overrides:
registerContribution
in classDefaultComponent
-
unregisterContribution
public void unregisterContribution(Object contribution, String extensionPoint, ComponentInstance contributor)
- Overrides:
unregisterContribution
in classDefaultComponent
-
getPermissionProvider
public PermissionProvider getPermissionProvider()
-
arePoliciesRestrictingPermission
public boolean arePoliciesRestrictingPermission(String permission)
-
arePoliciesExpressibleInQuery
public boolean arePoliciesExpressibleInQuery(String repositoryName)
-
getPoliciesQueryTransformers
public Collection<SQLQuery.Transformer> getPoliciesQueryTransformers(String repositoryName)
-
checkPermission
public boolean checkPermission(Document doc, NuxeoPrincipal principal, String permission)
-
filterGrantedPermissions
public Collection<String> filterGrantedPermissions(Document doc, NuxeoPrincipal principal, Collection<String> permissions)
Filters the supplied permissions based on whether they are granted to a given principal for a given document.- Since:
- 9.1
-
getPermissionsToCheck
public String[] getPermissionsToCheck(String permission)
Provides the full list of all permissions or groups of permissions that contain the given one (inclusive).It is exposed remotely through
CoreSession.getPermissionsToCheck(java.lang.String)
.- Returns:
- the list, as an array of strings.
-
getPrincipalsToCheck
public static String[] getPrincipalsToCheck(NuxeoPrincipal principal)
-
getAdapter
public <T> T getAdapter(Class<T> adapter)
Description copied from interface:Adaptable
Returns an object which is an instance of the given class associated with this object. Returnsnull
if no such object can be found.- Specified by:
getAdapter
in interfaceAdaptable
- Overrides:
getAdapter
in classDefaultComponent
- Parameters:
adapter
- the adapter class to look up- Returns:
- a object castable to the given class, or
null
if this object does not have an adapter for the given class
-
-