Interface AuthorizableAction
-
- All Known Subinterfaces:
GroupAction
,UserAction
- All Known Implementing Classes:
AbstractAuthorizableAction
,AbstractGroupAction
,AccessControlAction
,ClearMembershipAction
,PasswordChangeAction
,PasswordValidationAction
public interface AuthorizableAction
TheAuthorizableAction
interface provide an implementation specific way to execute additional validation or write tasks uponPlease be aware, that in contrast to
Validator
the authorizable actions will only be enforced when user related content modifications are generated by using the user management API.Note: user management operations are defined to perform transient modifications, which require an explicit save/commit call by the API consumer to be persisted. For consistency, implementations of the
AuthorizableAction
are expected to adhere to this rule and must not pre-emptively callRoot.commit()
.- Since:
- OAK 1.0
- See Also:
ConfigurationParameters
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
init(SecurityProvider securityProvider, ConfigurationParameters config)
Initialize this action with the specified security provider and configuration.void
onCreate(Group group, Root root, NamePathMapper namePathMapper)
Allows to add application specific modifications or validation associated with the creation of a new group.void
onCreate(User user, java.lang.String password, Root root, NamePathMapper namePathMapper)
Allows to add application specific modifications or validation associated with the creation of a new user.void
onPasswordChange(User user, java.lang.String newPassword, Root root, NamePathMapper namePathMapper)
Allows to add application specific action or validation associated with changing a user password.void
onRemove(Authorizable authorizable, Root root, NamePathMapper namePathMapper)
Allows to add application specific behavior associated with the removal of an authorizable.
-
-
-
Method Detail
-
init
void init(SecurityProvider securityProvider, ConfigurationParameters config)
Initialize this action with the specified security provider and configuration.- Parameters:
securityProvider
-config
-
-
onCreate
void onCreate(Group group, Root root, NamePathMapper namePathMapper) throws RepositoryException
Allows to add application specific modifications or validation associated with the creation of a new group. Note, that this method is called before anyRoot#commit()
call.- Parameters:
group
- The new group that has not yet been persisted; e.g. the associated tree is still 'NEW'.root
- The root associated with the user manager.namePathMapper
-- Throws:
RepositoryException
- If an error occurs.
-
onCreate
void onCreate(User user, java.lang.String password, Root root, NamePathMapper namePathMapper) throws RepositoryException
Allows to add application specific modifications or validation associated with the creation of a new user. Note, that this method is called before anyRoot#commit()
call.- Parameters:
user
- The new user that has not yet been persisted; e.g. the associated tree is still 'NEW'.password
- The password that was specified upon user creation.root
- The root associated with the user manager.namePathMapper
-- Throws:
RepositoryException
- If an error occurs.
-
onRemove
void onRemove(Authorizable authorizable, Root root, NamePathMapper namePathMapper) throws RepositoryException
Allows to add application specific behavior associated with the removal of an authorizable. Note, that this method is called beforeAuthorizable.remove()
is executed (and persisted); thus the target authorizable still exists.- Parameters:
authorizable
- The authorizable to be removed.root
- The root associated with the user manager.namePathMapper
-- Throws:
RepositoryException
- If an error occurs.
-
onPasswordChange
void onPasswordChange(User user, java.lang.String newPassword, Root root, NamePathMapper namePathMapper) throws RepositoryException
Allows to add application specific action or validation associated with changing a user password. Note, that this method is called before the password property is being modified in the content.- Parameters:
user
- The user that whose password is going to change.newPassword
- The new password as specified inUser.changePassword(java.lang.String)
root
- The root associated with the user manager.namePathMapper
-- Throws:
RepositoryException
- If an exception or error occurs.
-
-