© 2003 BEA Systems, Inc.

com.bea.p13n.controls.ejb.usermgmt
Interface UserManager

All Superinterfaces:
com.bea.control.Control, weblogic.jws.control.Control, Serializable

public interface UserManager
extends weblogic.jws.control.Control

Remote Interface for the UserManager session bean. This is the synchronization point between user profile support and WebLogic security. Any user management operations should be done here, rather than through the security APIs directly. This class depends on the following EJB environment in the ejb deployment descriptor:

Any methods that create or remove users delegate to the WebLogic provider selected by RealmHelper.getProviderMBean. If multiple providers are configured, see RealmHelper for information about which of those providers will be used.

This control requires that the UserManager EJB has been deployed to the application. The UserManager EJB is contained in p13n_ejb.jar, and is automatically deployed as part of a Portal application.


Method Summary
 void authenticate(String username, String password)
          Authenticate a user.
 ProfileWrapper createUser(String username, String password)
          Creates a user with the given username and password.
 ProfileWrapper createUserOfProfileType(String username, String password, String profileType)
          Creates a user with a specific profile type.
 String[] getProfileTypeNames()
          Return a list of profile type names that are registered with the UserManager.
 List getUserNames(String searchExpression, int limit)
          Returns a List of users' names matching the search expression
 ProfileWrapper getUserProfile(String username)
          Get the Profile for the given user.
 ProfileManager getUserProfileManager(String username)
          Returns the appropriate ProfileManager deployment for this user, based on the user's profile type.
 void removeUser(String username)
          Removes a user from the system.
 void setPassword(String username, String password)
          Sets the password for a user in the realm.
 boolean userExists(String username)
          Determines if a user exists.
 

Method Detail

authenticate

public void authenticate(String username,
                         String password)
                  throws P13nControlException
Authenticate a user. Throws an AuthenticationException if the user is not a valid user or credentials are invalid. This method is only used to verify a username and password, it does not do anything to :log in" or set the user as the "current" system user.

Parameters:
username - the username for the user
password - the password for the user
Throws:
P13nControlException - if the user is not a valid user or credentials are incorrect

getProfileTypeNames

public String[] getProfileTypeNames()
                             throws P13nControlException
Return a list of profile type names that are registered with the UserManager.

Throws:
P13nControlException - if remote errors accessing UserManager EJB

getUserNames

public List getUserNames(String searchExpression,
                         int limit)
                  throws P13nControlException
Returns a List of users' names matching the search expression

Parameters:
searchExpression - a wildcard search expression
limit - a limit of results to return
Throws:
P13nControlException - if errors accessing UserManager EJB

getUserProfile

public ProfileWrapper getUserProfile(String username)
                              throws P13nControlException
Get the Profile for the given user. Security constraints should restrict use of this method to administrators only.

Parameters:
username - the username for the user
Returns:
a user profile for a user
Throws:
P13nControlException - if profile cannot be found

getUserProfileManager

public ProfileManager getUserProfileManager(String username)
                                     throws P13nControlException
Returns the appropriate ProfileManager deployment for this user, based on the user's profile type. If the user exists in the realm, but does not have a profile yet, a profile will be created at this time. Security constraints should restrict use of this method to administrators only.

Parameters:
username - the username for the user
Returns:
a user profile for a user
Throws:
P13nControlException - if user does not exist

removeUser

public void removeUser(String username)
                throws P13nControlException
Removes a user from the system. This will remove both the realm and profile records for this user.

Parameters:
username - the username of the user to remove
Throws:
P13nControlException - if user does not exist

setPassword

public void setPassword(String username,
                        String password)
                 throws P13nControlException
Sets the password for a user in the realm. Security constraints should restrict use of this method to administrators only. A user should use changePassword to change their own password.

Parameters:
username - the username of the user
password - the new password for the user
Throws:
P13nControlException - if the password is malformed or otherwise invalid

userExists

public boolean userExists(String username)
                   throws P13nControlException
Determines if a user exists. This method simply checks the provider for a user with the given name.

Parameters:
username - the user to look for
Returns:
true if the user exists, false if it does not
Throws:
P13nControlException - if errors accessing UserManager EJB

createUser

public ProfileWrapper createUser(String username,
                                 String password)
                          throws P13nControlException
Creates a user with the given username and password. This user will use the default UserProfileManager for profile entries.

Parameters:
username - the username for the new user
password - the password for the new user
Returns:
a ProfileManager that can be used to access the new User
Throws:
P13nControlException - if the username is already in use

createUserOfProfileType

public ProfileWrapper createUserOfProfileType(String username,
                                              String password,
                                              String profileType)
                                       throws P13nControlException
Creates a user with a specific profile type.

Parameters:
username - the username for the new user
password - the password for the new user
profileType - the name of the profile type for the new user
Returns:
a ProfileWrapper that can be used to access the new User
Throws:
P13nControlException - if the username is already in use

© 2003 BEA Systems, Inc.

Copyright © 2003 BEA Systems, Inc. All Rights Reserved