There are two different types, or scopes, of users within the IBM Cúram Social Program Managementapplication: internal and external. The type of a user is determined in one of the following ways:
If the user exists in the Cúram Security Cache, the type is assumed to be in internal. If the user does not exist in the cache, the type is assumed to be external. In this case, (which is the default behavior) all usernames, internal and external, must be unique.
If the UserScope custom interface is implemented. This custom interface, takes precedence over the check for a user in the Cúram Security Cache to determine the user type. Consult Determining if a User is Internal or External using the UserScope Interface for further details.
When the type of a user is external the implementation of the curam.util.security.ExternalAccessSecurity.getSecurityRole() method will be used to determine the user role instead of the internal security roles. Authorizing an External User should be consulted for further details on this method.
To support alternative methods for determining if a user is internal or external the custom interface, UserScope , is available. Consult Determining if a User is Internal or External using the UserScope Interface for more details.