© 2003 BEA Systems, Inc.

com.bea.p13n.usermgmt
Interface UserManager

All Superinterfaces:
EJBObject, Remote

public interface UserManager
extends EJBObject

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.

See Also:
RealmHelper.getProviderMBean()

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 createUser(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.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

authenticate

public void authenticate(String username,
                         String password)
                  throws RemoteException,
                         AuthenticationException
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:
AuthenticationException - if the user is not a valid user or credentials are incorrect
RemoteException - because of EJB contract

getUserProfile

public ProfileWrapper getUserProfile(String username)
                              throws RemoteException
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:
RemoteException - because of EJB contract

getUserProfileManager

public ProfileManager getUserProfileManager(String username)
                                     throws RemoteException
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:
RemoteException - because of EJB contract

userExists

public boolean userExists(String username)
                   throws RemoteException
Determines if a user exists. This method simply checks all providers 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
RemoteException

createUser

public ProfileWrapper createUser(String username,
                                 String password)
                          throws RemoteException,
                                 UserAlreadyExistsException,
                                 InvalidUsernameException,
                                 InvalidPasswordException
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:
InvalidPasswordException - if the password is malformed or otherwise invalid
InvalidUsernameException - if the username is malformed or otherwise invalid
RemoteException - because of EJB contract
UserAlreadyExistsException - if the username is already in use

createUser

public ProfileWrapper createUser(String username,
                                 String password,
                                 String profileType)
                          throws RemoteException,
                                 UserAlreadyExistsException,
                                 InvalidUsernameException,
                                 InvalidPasswordException
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:
InvalidPasswordException - if the password is malformed or otherwise invalid
InvalidUsernameException - if the username is malformed or otherwise invalid
RemoteException - because of EJB contract
UserAlreadyExistsException - if the username is already in use

setPassword

public void setPassword(String username,
                        String password)
                 throws RemoteException,
                        InvalidPasswordException
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 thier own password.

Parameters:
username - the username of the user
password - the new password for the user
Throws:
InvalidPasswordException - if the password is malformed or otherwise invalid
RemoteException - because of EJB contract

removeUser

public void removeUser(String username)
                throws RemoteException,
                       InvalidUsernameException
Removes a user from the system. This will remove both the realm and profile records for this user. Security constraints should restrict use of this method to administrators only.

Parameters:
username - the username of the user to remove
Throws:
RemoteException - because of EJB contract
InvalidUsernameException - if the user is protected and cannot be deleted

getUserNames

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

Parameters:
searchExpression - a wildcard search expression
limit - a limit of results to return
Throws:
RemoteException - because of EJB contract

getProfileTypeNames

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

Returns:
a String array of profile type names; or null if none are defined
RemoteException

© 2003 BEA Systems, Inc.

Copyright © 2003 BEA Systems, Inc. All Rights Reserved