Interface IdentityService
- All Known Implementing Classes:
DefaultIdentityService
public interface IdentityService
Associates UserIdentities from with threads and UserIdentity.Contexts.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceAn association between an identity and the current thread that can be terminated byIdentityService.Association.close().static interfaceAn opaque token created bynewRunAsToken(String)and used byassociate(UserIdentity, RunAsToken) -
Method Summary
Modifier and TypeMethodDescriptionassociate(UserIdentity user, IdentityService.RunAsToken runAsToken) Associate a runas Token with the current user and thread.newRunAsToken(String roleName) Create a new RunAsToken from a runAsName (normally a role).newUserIdentity(Subject subject, Principal userPrincipal, String[] roles) Create a new UserIdentity for use with this identity service.voidonLogout(UserIdentity user) Called to notify that a user has been logged out.
-
Method Details
-
associate
Associate a runas Token with the current user and thread.- Parameters:
user- The UserIdentityrunAsToken- The runAsToken to associate, obtained fromnewRunAsToken(String), or null.- Returns:
- A
Closeablethat, when closed, will disassociate the token and restore any prior associations.
-
onLogout
Called to notify that a user has been logged out. The service may, among other actions, close anyIdentityService.Associationfor the calling thread.- Parameters:
user- The user that has logged out
-
newUserIdentity
Create a new UserIdentity for use with this identity service. The UserIdentity should be immutable and able to be cached.- Parameters:
subject- Subject to include in UserIdentityuserPrincipal- Principal to include in UserIdentity. This will be returned from getUserPrincipal callsroles- set of roles to include in UserIdentity.- Returns:
- A new immutable UserIdententity
-
newRunAsToken
Create a new RunAsToken from a runAsName (normally a role).- Parameters:
roleName- a role name- Returns:
- A token that can be passed to
associate(UserIdentity, RunAsToken).
-
getSystemUserIdentity
UserIdentity getSystemUserIdentity()
-