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

public interface UserManager
extends `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:

- 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.

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.

This control is deprecated as of Portal 8.1.x. Each method will note the replacement control and method to use.

All Superinterfaces
  `Control`, `Control`, `Serializable`

## Method Summary

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

## Method Detail

### authenticate(String, String) Method

DEPRECATED Use UserInfoControl.authenticate(username, password)

    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

#### Exceptions

``P13nControlException``
  if the user is not a valid user or credentials are incorrect

### createUser(String, String) Method

DEPRECATED As of Portal 8.1.x, use UserProviderControl.createUser(username, password)

    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

#### Exceptions

``P13nControlException``
  if the username is already in use

### createUserOfProfileType(String, String, String) Method

DEPRECATED As of Portal 8.1.x, use UserProviderControl.createUser(username, password). All profile types are assumed to be of type USER. To create the user profile, use ProfileControl.createUserProfile()

    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

#### Exceptions

``P13nControlException``
  if the username is already in use

### getProfileTypeNames() Method

DEPRECATED As of Portal 8.1.x, use ProfileControl.getProfileTypeNames() in conjunction with the UserProviderControl

    public String[] getProfileTypeNames()
         throws P13nControlException

Return a list of profile type names that are registered with the UserManager.

#### Exceptions

``P13nControlException``
  if remote errors accessing UserManager EJB

### getUserNames(String, int) Method

DEPRECATED As of Portal 8.1.x, use UserProviderControl.getUserNames(searchExpression, limit)

    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

#### Exceptions

``P13nControlException``
  if errors accessing UserManager EJB

### getUserProfile(String) Method

DEPRECATED As of Portal 8.1.x, use ProfileControl.getProfileForUser(username) in conjunction with the UserProviderControl

    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

#### Exceptions

``P13nControlException``
  if profile cannot be found

### getUserProfileManager(String) Method

DEPRECATED As of Portal 8.1.x, use ProfileControl.getProfileForUser(username) in conjunction with the UserProviderControl

    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

#### Exceptions

``P13nControlException``
  if user does not exist

### removeUser(String) Method

DEPRECATED As of Portal 8.1.x, use UserProviderControl.removeUser(username)

    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

#### Exceptions

``P13nControlException``
  if user does not exist

### setPassword(String, String) Method

DEPRECATED As of Portal 8.1.x, use UserProviderControl.setPassword(username, password)

    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

#### Exceptions

``P13nControlException``
  if the password is malformed or otherwise invalid

### userExists(String) Method

DEPRECATED As of Portal 8.1.x, use UserProviderControl.userExists(username)

    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

#### Exceptions

``P13nControlException``
  if errors accessing UserManager EJB