org.obe.spi.service
Interface SecurityRealm

All Superinterfaces:
WorkflowService

public interface SecurityRealm
extends WorkflowService

Standard interface to a security realm. The security realm is used to resolve the abstract participants in the process definition into actual users and groups at runtime.

Author:
Adrian Price

Field Summary
static int GROUP
          Bitmask value to select group principals.
static java.lang.String SERVICE_NAME
           
static int USER
          Bitmask value to select user principals.
static java.lang.String XPDL_NAME
          An XPDL ExternalReference to the OBE security realm interface.
 
Method Summary
 java.security.Principal findPrincipal(java.lang.String name)
          Finds the named Principal.
 java.security.Principal[] findPrincipals(int mask)
          Finds principals defined in the realm.
 java.security.Principal[] resolveParticipants(java.lang.String name, ProcessInstance processInstance)
          Resolves an abstract participant into concrete security principals.
 
Methods inherited from interface org.obe.spi.WorkflowService
exit, getServiceManager, getServiceName, init
 

Field Detail

SERVICE_NAME

public static final java.lang.String SERVICE_NAME
See Also:
Constant Field Values

USER

public static final int USER
Bitmask value to select user principals.

See Also:
Constant Field Values

GROUP

public static final int GROUP
Bitmask value to select group principals.

See Also:
Constant Field Values

XPDL_NAME

public static final java.lang.String XPDL_NAME
An XPDL ExternalReference to the OBE security realm interface.

See Also:
Constant Field Values
Method Detail

findPrincipal

public java.security.Principal findPrincipal(java.lang.String name)
                                      throws RepositoryException
Finds the named Principal.

Parameters:
name - The unique Principal name.
Returns:
The Principal (or Group) as defined in the realm.
Throws:
ObjectNotFoundException - if a Principal with that name is not defined in the realm.
RepositoryException - if any other error occurs.

findPrincipals

public java.security.Principal[] findPrincipals(int mask)
                                         throws RepositoryException
Finds principals defined in the realm.

Parameters:
mask - Bitmask constructed by logically ORing USER and GROUP.
Returns:
An array of principals.
Throws:
RepositoryException - if any error occurs.

resolveParticipants

public java.security.Principal[] resolveParticipants(java.lang.String name,
                                                     ProcessInstance processInstance)
                                              throws RepositoryException
Resolves an abstract participant into concrete security principals. If name resolves to a java.security.acl.Group, this group should be returned intact: group expansion will be performed by the caller, if necessary.

Parameters:
name - The participant name.
processInstance - The process instance within which to resolve the mapping. This parameter is present to enable implementations to provide process-instance-specific Role:Group mappings.
Returns:
The runtime Principals to which the performer is mapped.
Throws:
ObjectNotFoundException - if a Principal with that name is not defined in the realm.
RepositoryException - if some other error occurred.


SourceForge.net Logo OBE-1.0 Copyright (c) 2002-2006 Adrian Price. All Rights Reserved.