## org.eclipse.jetty.security
Class DefaultIdentityService

    java.lang.Object
      org.eclipse.jetty.security.DefaultIdentityService

All Implemented Interfaces:
  IdentityService

    public class DefaultIdentityService

extends Object
implements IdentityService

Default Identity Service implementation. This service handles only role reference maps passed in an associated `UserIdentity.Scope`. If there are roles refs present, then associate will wrap the UserIdentity with one that uses the role references in the `UserIdentity.isUserInRole(String, org.eclipse.jetty.server.UserIdentity.Scope)` implementation. All other operations are effectively noops.

Field Summary

Fields inherited from interface org.eclipse.jetty.security.IdentityService
`NO_ROLES`

Constructor Summary
`DefaultIdentityService()`

Method Summary
`Object` `associate(UserIdentity user)` If there are roles refs present in the scope, then wrap the UserIdentity with one that uses the role references in the `UserIdentity.isUserInRole(String, org.eclipse.jetty.server.UserIdentity.Scope)`
`void` `disassociate(Object previous)` Disassociate the user identity from the current thread and restore previous identity.
`UserIdentity` `getSystemUserIdentity()`
`RunAsToken` `newRunAsToken(String runAsName)` Create a new RunAsToken from a runAsName (normally a role).
`UserIdentity` `newUserIdentity(Subject subject, Principal userPrincipal, String[] roles)` Create a new UserIdentity for use with this identity service.
`Object` `setRunAs(UserIdentity user, RunAsToken token)` Associate a runas Token with the current user and thread.
`void` `unsetRunAs(Object lastToken)` Disassociate the current runAsToken from the thread and reassociate the previous token.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DefaultIdentityService

    public DefaultIdentityService()

Method Detail

### associate

    public Object associate(UserIdentity user)

  If there are roles refs present in the scope, then wrap the UserIdentity with one that uses the role references in the `UserIdentity.isUserInRole(String, org.eclipse.jetty.server.UserIdentity.Scope)`

  Specified by:
    `associate` in interface `IdentityService`
  Parameters:
    `user` - The current user or null for no user to associated.
  Returns:
    an object representing the previous associated state

### disassociate

    public void disassociate(Object previous)

  Description copied from interface: `IdentityService`
  Disassociate the user identity from the current thread and restore previous identity.

  Specified by:
    `disassociate` in interface `IdentityService`
  Parameters:
    `previous` - The opaque object returned from a call to `IdentityService.associate(UserIdentity)`

### setRunAs

    public Object setRunAs(UserIdentity user,
                           RunAsToken token)

  Description copied from interface: `IdentityService`
  Associate a runas Token with the current user and thread.

  Specified by:
    `setRunAs` in interface `IdentityService`
  Parameters:
    `user` - The UserIdentity
    `token` - The runAsToken to associate.
  Returns:
    The previous runAsToken or null.

### unsetRunAs

    public void unsetRunAs(Object lastToken)

  Description copied from interface: `IdentityService`
  Disassociate the current runAsToken from the thread and reassociate the previous token.

  Specified by:
    `unsetRunAs` in interface `IdentityService`
  Parameters:
    `lastToken` - RUNAS returned from previous associateRunAs call

### newRunAsToken

    public RunAsToken newRunAsToken(String runAsName)

  Description copied from interface: `IdentityService`
  Create a new RunAsToken from a runAsName (normally a role).

  Specified by:
    `newRunAsToken` in interface `IdentityService`
  Parameters:
    `runAsName` - Normally a role name
  Returns:
    A new immutable RunAsToken

### getSystemUserIdentity

    public UserIdentity getSystemUserIdentity()

  Specified by:
    `getSystemUserIdentity` in interface `IdentityService`

### newUserIdentity

    public UserIdentity newUserIdentity(Subject subject,
                                        Principal userPrincipal,
                                        String[] roles)

  Description copied from interface: `IdentityService`
  Create a new UserIdentity for use with this identity service. The UserIdentity should be immutable and able to be cached.

  Specified by:
    `newUserIdentity` in interface `IdentityService`
  Parameters:
    `subject` - Subject to include in UserIdentity
    `userPrincipal` - Principal to include in UserIdentity. This will be returned from getUserPrincipal calls
    `roles` - set of roles to include in UserIdentity.
  Returns:
    A new immutable UserIdententity

Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.