Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2003 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:

- jdbc/commercePool: a resource-ref to a TxDataSource for the commercePool database connection pool containing user profile data.
- ejb/UserProfileManager: an ejb-ref pointing to the default UserProfileManager deployment.
- ejb/ProfileType/...: any alternative profile types should have an ejb-ref entry of the form ejb/ProfileType/<profile type name> that points to the appropriate UserProfileManager for that type. These are optional, applicable only if other profile types are used.
- ReservedUserNames: an env-entry of type String containing a comma-separated list of user names (case insensitive) that are restricted: the UserManager will not create users with these names. These are optional, required only if you wish to restrict creation of any user names.
- ProtectedUserNames: an env-entry of type String containing a comma-separated list of user names (case insensitive) that cannot be deleted through the UserManager. These are optional, required only if you wish to protect user names from deletion.

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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2003 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003 BEA Systems, Inc. All Rights Reserved