WebLogic Integration


com.bea.wlpi.server.principal
Interface WLPIPrincipal


public interface WLPIPrincipal
extends javax.ejb.EJBObject

Provides workflow participants based on security principals defined in an external security realm. The default implementation provides behavior, extended attributes and persistence using a database table.

Author:
Copyright © 2000, 2001 BEA Systems, Inc. All Rights Reserved.
See Also:
WLPIPrincipalHome

Method Summary
 void addOrganization(OrganizationInfo orgInfo)
          Create a new organization.
 void addRole(RoleInfo roleInfo)
          Create a new role.
 void addUserToOrganization(java.lang.String userID, java.lang.String orgID)
          Add a user to an organization.
 void addUserToRole(java.lang.String userID, java.lang.String orgID, java.lang.String roleID)
          Add a user to a role.
 UserInfo createUser(java.lang.String userID, java.lang.String pswd)
          Create a new user in the realm and add it to the wlpiUsers group.
 java.security.Principal createWlpiUser(java.lang.String userID, java.lang.String pswd)
          Deprecated. WLPI 1.2.1 release
 void deleteOrganization(java.lang.String orgID)
          Delete an organization.
 void deleteRole(java.lang.String orgID, java.lang.String roleID)
          Delete a role.
 void deleteUser(java.lang.String userID)
          Delete a user from the realm.
 java.util.List getAllOrganizations(boolean obtainAttributes)
          List all defined organizations.
 java.util.List getAllUsers(boolean obtainAttributes)
          List all defined users.
 java.util.List getGroups()
          Return a list of WLS security groups available within the application.
 java.lang.String getMappedGroup(java.lang.String roleID, java.lang.String orgID)
          Return a single mapping value based on a Role ID and Organization ID.
 OrganizationInfo getOrganizationInfo(java.lang.String orgID)
          Get further information about the specified organization.
 java.util.List getOrganizationsForUser(java.lang.String userID, boolean obtainAttributes)
          List the organizations to which the specified user belongs.
 RoleInfo getRoleInfo(java.lang.String roleID, java.lang.String orgID)
          Get further information about the specified role.
 java.util.Map getRoleMappingsInOrg(java.lang.String orgID)
          Return a Map of all role to WLS security group mapping for a given organization.
 java.util.List getRolesForUser(java.lang.String orgID, java.lang.String userID, boolean obtainAttributes)
          List the roles to which the specified user belongs.
 java.util.List getRolesInOrganization(java.lang.String orgID, boolean obtainAttributes)
          List the roles defined for an organization.
 java.lang.String getSecurityRealmClassName()
          Return the class name of the installed WebLogic security realm.
 UserInfo getUserInfo(java.lang.String userID)
          Get further information about the specified user.
 java.util.List getUsersInOrganization(java.lang.String orgID, boolean obtainAttributes)
          List the users in the specified organization.
 java.util.List getUsersInRole(java.lang.String roleID, java.lang.String orgID, boolean obtainAttributes)
          List the users in the specified role of the specified organization.
 boolean isManageableSecurityRealm()
          Check whether the realm in question is manageable.
 boolean isRoleInOrganization(java.lang.String roleID, java.lang.String orgID)
          Check whether a role is defined within a particular organization.
 boolean isUserInOrganization(java.lang.String userID, java.lang.String orgID)
          Check whether a user belongs to particular organization.
 void mapRolesToGroups(java.lang.String orgID, java.util.Map rolesToGroupMap)
          Map a set of roles to groups.
 void mapRoleToGroup(java.lang.String roleID, java.lang.String orgID, java.lang.String groupID)
          Map an individual role to a WLS security group.
 void ping()
          A "dummy" method for the client to ping.
 void removeUserFromOrganization(java.lang.String userID, java.lang.String orgID)
          Remove a user from an organization.
 void removeUserFromRole(java.lang.String userID, java.lang.String orgID, java.lang.String roleID)
          Remove a user from a role.
 void setOrganizationInfo(OrganizationInfo orgInfo)
          Update the information about an organization.
 void setRoleInfo(RoleInfo roleInfo)
          Update the information about a role.
 void setUserInfo(UserInfo userInfo)
          Update the information about a user.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

ping

public void ping()
          throws java.rmi.RemoteException
A "dummy" method for the client to ping. This is to avoid a WLS "feature" that will dereference a remote object that hasn't been referenced for a certain amound of time, thus causing the client to die. This method is idempotent.


addOrganization

public void addOrganization(OrganizationInfo orgInfo)
                     throws java.rmi.RemoteException,
                            WorkflowException
Create a new organization. This method is not idempotent.

Parameters:
orgInfo - Values for the new organization to create.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

addRole

public void addRole(RoleInfo roleInfo)
             throws java.rmi.RemoteException,
                    WorkflowException
Create a new role. This method is not idempotent.

Parameters:
roleInfo - Values for the new role to create.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

addUserToOrganization

public void addUserToOrganization(java.lang.String userID,
                                  java.lang.String orgID)
                           throws java.rmi.RemoteException,
                                  WorkflowException
Add a user to an organization. This method is not idempotent.

Parameters:
userID - The ID of the user to add.
orgID - The ID of the organization.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

addUserToRole

public void addUserToRole(java.lang.String userID,
                          java.lang.String orgID,
                          java.lang.String roleID)
                   throws java.rmi.RemoteException,
                          WorkflowException
Add a user to a role. This method is not idempotent.

Parameters:
userID - The ID of the user to add.
orgID - The ID of the organization.
roleID - The ID of the role within organization orgID.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

deleteOrganization

public void deleteOrganization(java.lang.String orgID)
                        throws java.rmi.RemoteException,
                               WorkflowException
Delete an organization. This method is idempotent.

Parameters:
orgID - The ID of the organization to delete.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

deleteRole

public void deleteRole(java.lang.String orgID,
                       java.lang.String roleID)
                throws java.rmi.RemoteException,
                       WorkflowException
Delete a role. This method is idempotent.

Parameters:
orgID - The ID of the organization containing the role to delete.
roleID - The ID of the role to delete.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

getAllOrganizations

public java.util.List getAllOrganizations(boolean obtainAttributes)
                                   throws java.rmi.RemoteException,
                                          WorkflowException
List all defined organizations. This method is idempotent.

Parameters:
obtainAttributes - true to return all OrganizationInfo attributes, false for just the orgIDs.
Returns:
A list of OrganizationInfo objects.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getAllUsers

public java.util.List getAllUsers(boolean obtainAttributes)
                           throws java.rmi.RemoteException,
                                  WorkflowException
List all defined users. This method is idempotent.

Parameters:
obtainAttributes - true to return all UserInfo attributes, false for just the userIDs.
Returns:
A list of UserInfo objects.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getOrganizationInfo

public OrganizationInfo getOrganizationInfo(java.lang.String orgID)
                                     throws java.rmi.RemoteException,
                                            WorkflowException
Get further information about the specified organization. This method is idempotent.

Parameters:
orgID - The ID of the organization about which further information is required.
Returns:
Further information about the organization.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getRoleInfo

public RoleInfo getRoleInfo(java.lang.String roleID,
                            java.lang.String orgID)
                     throws java.rmi.RemoteException,
                            WorkflowException
Get further information about the specified role. This method is idempotent.

Parameters:
orgID - The ID of the organization containing the role.
roleID - The ID of the role about which further information is required.
Returns:
Further information about the role.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getUserInfo

public UserInfo getUserInfo(java.lang.String userID)
                     throws java.rmi.RemoteException,
                            WorkflowException
Get further information about the specified user. This method is idempotent.

Parameters:
userID - The ID of the user about whom further information is required.
Returns:
Further information about the user.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getOrganizationsForUser

public java.util.List getOrganizationsForUser(java.lang.String userID,
                                              boolean obtainAttributes)
                                       throws java.rmi.RemoteException,
                                              WorkflowException
List the organizations to which the specified user belongs. This method is idempotent.

Parameters:
userID - The ID of the user.
obtainAttributes - true to return all OrganizationInfo attributes, false for just the orgIDs.
Returns:
A list of OrganizationInfo objects.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getRolesForUser

public java.util.List getRolesForUser(java.lang.String orgID,
                                      java.lang.String userID,
                                      boolean obtainAttributes)
                               throws java.rmi.RemoteException,
                                      WorkflowException
List the roles to which the specified user belongs. This method is idempotent.

Parameters:
orgID - The ID of the organization.
userID - The ID of the user.
obtainAttributes - true to return all RoleInfo attributes, false for just the roleIDs.
Returns:
A list of RoleInfo objects.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getRolesInOrganization

public java.util.List getRolesInOrganization(java.lang.String orgID,
                                             boolean obtainAttributes)
                                      throws java.rmi.RemoteException,
                                             WorkflowException
List the roles defined for an organization. This method is idempotent.

Parameters:
orgID - The ID of the organization.
obtainAttributes - true to return all RoleInfo attributes, false for just the roleIDs.
Returns:
A list of RoleInfo objects.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getUsersInOrganization

public java.util.List getUsersInOrganization(java.lang.String orgID,
                                             boolean obtainAttributes)
                                      throws java.rmi.RemoteException,
                                             WorkflowException
List the users in the specified organization. This method is idempotent.

Parameters:
orgID - The ID of the organization.
obtainAttributes - true to return all UserInfo attributes, false for just the userIDs.
Returns:
A list of UserInfo objects.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getUsersInRole

public java.util.List getUsersInRole(java.lang.String roleID,
                                     java.lang.String orgID,
                                     boolean obtainAttributes)
                              throws java.rmi.RemoteException,
                                     WorkflowException
List the users in the specified role of the specified organization. This method is idempotent.

Parameters:
roleID - The ID of the role.
orgID - The ID of the organization.
obtainAttributes - true to return all UserInfo attributes, false for just the userIDs.
Returns:
A list of UserInfo objects.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

getSecurityRealmClassName

public java.lang.String getSecurityRealmClassName()
                                           throws java.rmi.RemoteException,
                                                  WorkflowException
Return the class name of the installed WebLogic security realm. This enables clients to check, for example, whether the default WebLogic realm (weblogic.security.acl.internal.WLPropertyRealm) is in use, and to adjust user interfaces to reflect the fact that this realm, although manageable, does not* persist updates.

*As at the time of writing (WebLogic Server 5.1 SP6). This method is idempotent.

Returns:
The fully qualified realm class name.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.
See Also:
isManageableSecurityRealm()

isManageableSecurityRealm

public boolean isManageableSecurityRealm()
                                  throws java.rmi.RemoteException,
                                         WorkflowException
Check whether the realm in question is manageable. This enables client programs to enable or disable user interface controls accordingly. This method is idempotent.

Returns:
true if the security realm implements the ManageableRealm interface.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.
See Also:
getSecurityRealmClassName()

isRoleInOrganization

public boolean isRoleInOrganization(java.lang.String roleID,
                                    java.lang.String orgID)
                             throws java.rmi.RemoteException,
                                    WorkflowException
Check whether a role is defined within a particular organization. This method is idempotent.

Parameters:
roleID - The ID of the role.
orgID - The ID of the organization.
Returns:
true if role defined within organization.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

isUserInOrganization

public boolean isUserInOrganization(java.lang.String userID,
                                    java.lang.String orgID)
                             throws java.rmi.RemoteException,
                                    WorkflowException
Check whether a user belongs to particular organization. This method is idempotent.

Parameters:
userID - The ID of the user.
orgID - The ID of the organization.
Returns:
true if user belongs to organization.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not listable, or if any exception occurred.

removeUserFromOrganization

public void removeUserFromOrganization(java.lang.String userID,
                                       java.lang.String orgID)
                                throws java.rmi.RemoteException,
                                       WorkflowException
Remove a user from an organization. This method is idempotent.

Parameters:
userID - The ID of the user to remove.
orgID - The ID of the organization.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

removeUserFromRole

public void removeUserFromRole(java.lang.String userID,
                               java.lang.String orgID,
                               java.lang.String roleID)
                        throws java.rmi.RemoteException,
                               WorkflowException
Remove a user from a role. This method is not idempotent.

Parameters:
userID - The ID of the user to remove.
orgID - The ID of the organization.
roleID - The ID of role within the organization orgID.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the security realm is not manageable, or if any exception occurred.

setOrganizationInfo

public void setOrganizationInfo(OrganizationInfo orgInfo)
                         throws java.rmi.RemoteException
Update the information about an organization. Callers should take care that orgInfo was retrieved with obtainAttributes=true (where applicable) to avoid inadvertently clearing the attributes. This method is idempotent.

Parameters:
orgInfo - Organization information to update.
Throws:
java.rmi.RemoteException - if a communications error occurred.

setRoleInfo

public void setRoleInfo(RoleInfo roleInfo)
                 throws java.rmi.RemoteException
Update the information about a role. Callers should take care that roleInfo was retrieved with obtainAttributes=true (where applicable) to avoid inadvertently clearing the attributes. This method is idempotent.

Parameters:
roleInfo - Role information to update.
Throws:
java.rmi.RemoteException - if a communications error occurred.

setUserInfo

public void setUserInfo(UserInfo userInfo)
                 throws java.rmi.RemoteException
Update the information about a user. Callers should take care that userInfo was retrieved with obtainAttributes=true (where applicable) to avoid inadvertently clearing the attributes. This method is idempotent.

Parameters:
userInfo - User information to update.
Throws:
java.rmi.RemoteException - if a communications error occurred.

createWlpiUser

public java.security.Principal createWlpiUser(java.lang.String userID,
                                              java.lang.String pswd)
                                       throws java.rmi.RemoteException,
                                              WorkflowException
Deprecated. WLPI 1.2.1 release
Create a new user in the realm and add it to the wlpiUsers group. This method is not idempotent.

Parameters:
userID - The name of the user to add.
pswd - The clear-text password for the user.
Returns:
A security principal object representing the newly created user.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the user could not be added (already exists, etc.).
Since:
Weblogic Process Integrator version 1.1.

createUser

public UserInfo createUser(java.lang.String userID,
                           java.lang.String pswd)
                    throws java.rmi.RemoteException,
                           WorkflowException
Create a new user in the realm and add it to the wlpiUsers group. This method is not idempotent.

Parameters:
userID - The name of the user to add.
pswd - The clear-text password for the user.
Returns:
A security principal object representing the newly created user.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the user could not be added (already exists, etc.).
Since:
Weblogic Process Integrator version 1.1.

deleteUser

public void deleteUser(java.lang.String userID)
                throws java.rmi.RemoteException,
                       WorkflowException
Delete a user from the realm. This method is not idempotent.

Parameters:
userID - The name of the user to delete.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the user could not be deleted (does not exist, etc.).
Since:
Weblogic Process Integrator version 1.1.

getRoleMappingsInOrg

public java.util.Map getRoleMappingsInOrg(java.lang.String orgID)
                                   throws java.rmi.RemoteException,
                                          WorkflowException
Return a Map of all role to WLS security group mapping for a given organization. The structure of the Map has the Role ID as the key and the Group ID as the value. This method is idempotent.

Parameters:
String - Organization ID
Returns:
Map of RoleID/GroupID
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the mapping could not be retrieved
Since:
WebLogic Process Integrator 2.0

getMappedGroup

public java.lang.String getMappedGroup(java.lang.String roleID,
                                       java.lang.String orgID)
                                throws java.rmi.RemoteException,
                                       WorkflowException
Return a single mapping value based on a Role ID and Organization ID. This method is idempotent.

Parameters:
String - Role ID
String - Organization ID
Returns:
Group name the role is mapped to, null if no mapping exists.
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the mapping could not be retrieved
Since:
WebLogic Process Integrator 2.0

getGroups

public java.util.List getGroups()
                         throws java.rmi.RemoteException,
                                WorkflowException
Return a list of WLS security groups available within the application. This method is idempotent.

Returns:
A List of WLS security group names
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if the list could not be retrieved
Since:
WebLogic Process Integrator 2.0

mapRoleToGroup

public void mapRoleToGroup(java.lang.String roleID,
                           java.lang.String orgID,
                           java.lang.String groupID)
                    throws java.rmi.RemoteException,
                           WorkflowException
Map an individual role to a WLS security group. This method will create a new WLS group if the one to be mapped does not exist in the current domain. This method is not idempotent.

Parameters:
String - Role ID
String - Organization ID
String - Group ID
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if an error occurred during the update
Since:
WebLogic Process Integrator 2.0

mapRolesToGroups

public void mapRolesToGroups(java.lang.String orgID,
                             java.util.Map rolesToGroupMap)
                      throws java.rmi.RemoteException,
                             WorkflowException
Map a set of roles to groups. The Map object uses Role ID as the key and Group ID as the value. This method will create a new WLS group if the one to be mapped does not exist in the current domain. This method is not idempotent.

Parameters:
String - Organization ID
Map - Map of RoleID/GroupID
Throws:
java.rmi.RemoteException - if a communications error occurred.
WorkflowException - if an error occurred during the update
Since:
WebLogic Process Integrator 2.0

WebLogic Integration

WebLogic Integration (WLI)