Package org.eclipse.jetty.security
Interface IdentityService
- All Known Implementing Classes:
DefaultIdentityService
public interface IdentityService
Associates UserIdentities from with threads and UserIdentity.Contexts.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionassociate(UserIdentity user) Associate a user identity with the current thread.voiddisassociate(Object previous) Disassociate the user identity from the current thread and restore previous identity.newRunAsToken(String runAsName) 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.setRunAs(UserIdentity user, RunAsToken token) Associate a runas Token with the current user and thread.voidunsetRunAs(Object token) Disassociate the current runAsToken from the thread and reassociate the previous token.
-
Field Details
-
NO_ROLES
-
-
Method Details
-
associate
Associate a user identity with the current thread. This is called with as a thread enters theSecurityHandler.handle(String, org.eclipse.jetty.server.Request, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)method and then again with a null argument as that call exits.- Parameters:
user- The current user or null for no user to associated.- Returns:
- an object representing the previous associated state
-
disassociate
Disassociate the user identity from the current thread and restore previous identity.- Parameters:
previous- The opaque object returned from a call toassociate(UserIdentity)
-
setRunAs
Associate a runas Token with the current user and thread.- Parameters:
user- The UserIdentitytoken- The runAsToken to associate.- Returns:
- The previous runAsToken or null.
-
unsetRunAs
Disassociate the current runAsToken from the thread and reassociate the previous token.- Parameters:
token- RUNAS returned from previous associateRunAs call
-
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:
runAsName- Normally a role name- Returns:
- A new immutable RunAsToken
-
getSystemUserIdentity
UserIdentity getSystemUserIdentity()
-