Oracle Content Management SDK

oracle.ifs.adk.user
Class UserManager

java.lang.Object
  |
  +--oracle.ifs.adk.user.UserManager

public final class UserManager
extends java.lang.Object

UserManager is an utility class to create and delete iFS users, including all the user-related objects.

Creating an iFS user involves creating a CredentialManager user, DirectoryUser, a home folder, a content quota, a primary user profile, an email profile, and associated objects. Values for the various options can be specified in a Hashtable. These Hashtable values would override the defaults found in the PropertyBundle, IFS.ADK.CreateUserDefinitions. If the values are not specified, the defaults are used.

Deleting an iFS user involves freeing the home folder, the CredentialManager user, DirectoryUser. There exists the option of freeing objects owned by the user or changing the ownership to a specified valid user. Values for the various options would be specifed in a Hashtable.

The Hashtable default values are specified in the below.


Field Summary
static java.lang.String ACL_BUNDLE_ALL_PUBLISHED
          No default.
static java.lang.String ACL_BUNDLE_FOR_ADMIN
          No default.
static java.lang.String ADMIN_ENABLED
          Defaults to FALSE.
static java.lang.String CAN_CHANGE_PASSWORD
          Defaults to TRUE.
static java.lang.String CHANGE_OWNER
          Delete user option - defaults to FALSE.
static java.lang.String CONTENT_QUOTA_ACL
          Defaults to Private.
static java.lang.String CONTENT_QUOTA_ALLOCATED_STORAGE
          Defaults to 25 MB.
static java.lang.String CONTENT_QUOTA_ENABLED
          Defaults to FALSE.
static java.lang.String CONTENT_QUOTA_NAME
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String CONTENT_QUOTA_NAME_PREFIX
          No default.
static java.lang.String CONTENT_QUOTA_NAME_SUFFIX
          Defaults to ' Content Quota'.
static java.lang.String CREDENTIAL_MANAGER
          Defaults to 'Ifs' for which credential manager to use for access to the authentication engine.
static java.lang.String DEFAULT_ACLS
          Defaults to 'AclBundleAllPublished' for non-Admin and 'AclBundleForAdmin' for Admin users.
static java.lang.String DEFAULT_ACLS_BUNDLE_ACL
          Defaults to Published.
static java.lang.String DEFAULT_ACLS_BUNDLE_NAME
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String DEFAULT_ACLS_BUNDLE_NAME_PREFIX
          No default.
static java.lang.String DEFAULT_ACLS_BUNDLE_NAME_SUFFIX
          Defaults to ' DefaultACLs'.
static java.lang.String DIRECTORY_USER_ACL
          Defaults to Published.
static java.lang.String DIRECTORY_USER_DESCRIPTION
          Defaults to null.
static java.lang.String DISTINGUISHED_NAME
          Used if SHOULD_CREATE_CREDENTIAL_MANAGER_USER is false.
static java.lang.String DISTINGUISHED_NAME_PREFIX
          Deprecated. iFS 9.0.2: set DISTINGUISHED_NAME explicitly
static java.lang.String DISTINGUISHED_NAME_SUFFIX
          Deprecated. iFS 9.0.2: set DISTINGUISHED_NAME explicitly
static java.lang.String EMAIL_ADDRESS
          No default.
static java.lang.String EMAIL_ADDRESS_PREFIX
          Deprecated. iFS 9.0.2: set EMAIL_ADDRESS explicitly
static java.lang.String EMAIL_ADDRESS_SUFFIX
          Deprecated. iFS 9.0.2: set EMAIL_ADDRESS explicitly
static java.lang.String EMAIL_FOLDER_ROOT
          Defaults to home folder.
static java.lang.String EMAIL_SUBFOLDER_ACL
          Defaults to Private.
static java.lang.String EMAIL_SUBFOLDER_NAME
          Defaults to 'mail'.
static java.lang.String EMAIL_USER_PROFILE_ACL
          Defaults to Private.
static java.lang.String EMAIL_USER_PROFILE_NAME
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String EMAIL_USER_PROFILE_NAME_PREFIX
          No default.
static java.lang.String EMAIL_USER_PROFILE_NAME_SUFFIX
          Defaults to ' Email Profile'.
static java.lang.String FREE_CREDENTIAL_MANAGER_USER
          Delete user option - defaults to FALSE.
static java.lang.String FREE_HOME_FOLDER
          Delete user option - defaults to FALSE.
static java.lang.String HAS_CONTENT_QUOTA
          Defaults to TRUE.
static java.lang.String HAS_EMAIL
          Defaults to TRUE.
static java.lang.String HAS_HOME_FOLDER
          Defaults to TRUE.
static java.lang.String HAS_PRIMARY_USER_PROFILE
          Defaults to TRUE.
static java.lang.String HOME_FOLDER_ACL
          Defaults to Private.
static java.lang.String HOME_FOLDER_DESCRIPTION
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String HOME_FOLDER_DESCRIPTION_PREFIX
          No default.
static java.lang.String HOME_FOLDER_DESCRIPTION_SUFFIX
          Defaults to ''s home folder'.
static java.lang.String HOME_FOLDER_HAS_POLICY_BUNDLE
          Defaults to TRUE.
static java.lang.String HOME_FOLDER_NAME
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String HOME_FOLDER_NAME_PREFIX
          No default.
static java.lang.String HOME_FOLDER_NAME_SUFFIX
          No default.
static java.lang.String HOME_FOLDER_POLICY_BUNDLE_ACL
          Defaults to Published.
static java.lang.String HOME_FOLDER_POLICY_BUNDLE_NAME
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String HOME_FOLDER_POLICY_BUNDLE_NAME_PREFIX
          No default.
static java.lang.String HOME_FOLDER_POLICY_BUNDLE_NAME_SUFFIX
          Defaults to 'Policy Bundle for Homefolder and Inbox'.
static java.lang.String HOME_FOLDER_ROOT
          Defaults to '/home'.
static java.lang.String INBOX_ACL
          Defaults to Private.
static java.lang.String INBOX_NAME
          Defaults to 'inbox'.
static java.lang.String NEW_OWNER_USER_NAME
          Delete user option - no default.
static java.lang.String PASSWORD
          Password is required to be defined.
static java.lang.String PRIMARY_USER_PROFILE_ACL
          Defaults to Private.
static java.lang.String PRIMARY_USER_PROFILE_CHARACTERSET
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String PRIMARY_USER_PROFILE_LANGUAGE
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String PRIMARY_USER_PROFILE_LOCALE
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String PRIMARY_USER_PROFILE_NAME
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String PRIMARY_USER_PROFILE_NAME_PREFIX
          No default.
static java.lang.String PRIMARY_USER_PROFILE_NAME_SUFFIX
          Defaults to ' Primary Profile'.
static java.lang.String PRIMARY_USER_PROFILE_TIMEZONE
          If none specified, name is constructed from prefix + username + suffix.
static java.lang.String READ_INDICATION_ENABLED
          Defaults to FALSE.
static java.lang.String REPLACE_CREDENTIAL_MANAGER_PASSWORD
          Defaults to FALSE.
static java.lang.String SHOULD_CREATE_CREDENTIAL_MANAGER_USER
          Defaults to TRUE.
static java.lang.String SYSTEM_ADMIN_ENABLED
          Defaults to FALSE.
static java.lang.String USERNAME
          UserName is required to be defined.
 
Constructor Summary
UserManager(LibrarySession sess)
          Construct UserManager object.
 
Method Summary
 DirectoryUser createUser(java.lang.String username, java.lang.String password, java.util.Hashtable options)
          Creates a new iFS user.
 void deleteUser(java.lang.String username, java.util.Hashtable options)
          Deletes an iFS user.
 java.util.Hashtable normalizeOptionsHashtable(java.util.Hashtable oldTable)
          Normalizes the options Hashtable so that the keys are all uppercase.
 

Field Detail


USERNAME

public static final java.lang.String USERNAME
UserName is required to be defined. Use a String object.

PASSWORD

public static final java.lang.String PASSWORD
Password is required to be defined. Use a String object.

SHOULD_CREATE_CREDENTIAL_MANAGER_USER

public static final java.lang.String SHOULD_CREATE_CREDENTIAL_MANAGER_USER
Defaults to TRUE. Use a Boolean object.

REPLACE_CREDENTIAL_MANAGER_PASSWORD

public static final java.lang.String REPLACE_CREDENTIAL_MANAGER_PASSWORD
Defaults to FALSE. If using an existing credential manager user, set to TRUE to override the old password. Use a Boolean object.

CREDENTIAL_MANAGER

public static final java.lang.String CREDENTIAL_MANAGER
Defaults to 'Ifs' for which credential manager to use for access to the authentication engine. Use a String object.

CAN_CHANGE_PASSWORD

public static final java.lang.String CAN_CHANGE_PASSWORD
Defaults to TRUE. Use a Boolean object.

HAS_EMAIL

public static final java.lang.String HAS_EMAIL
Defaults to TRUE. Use a Boolean object.

ADMIN_ENABLED

public static final java.lang.String ADMIN_ENABLED
Defaults to FALSE. Set to TRUE if user should have admin privileges. Use a Boolean object.

SYSTEM_ADMIN_ENABLED

public static final java.lang.String SYSTEM_ADMIN_ENABLED
Defaults to FALSE. Set to TRUE if user should have system admin privileges. Use a Boolean object.

HAS_PRIMARY_USER_PROFILE

public static final java.lang.String HAS_PRIMARY_USER_PROFILE
Defaults to TRUE. Use a Boolean object.

HAS_HOME_FOLDER

public static final java.lang.String HAS_HOME_FOLDER
Defaults to TRUE. Use a Boolean object.

HOME_FOLDER_ROOT

public static final java.lang.String HOME_FOLDER_ROOT
Defaults to '/home'. Use a String object.

HOME_FOLDER_HAS_POLICY_BUNDLE

public static final java.lang.String HOME_FOLDER_HAS_POLICY_BUNDLE
Defaults to TRUE. Admin privileges are required to free the home folder. Use a Boolean object.

HAS_CONTENT_QUOTA

public static final java.lang.String HAS_CONTENT_QUOTA
Defaults to TRUE. Use a Boolean object.

CONTENT_QUOTA_ENABLED

public static final java.lang.String CONTENT_QUOTA_ENABLED
Defaults to FALSE. Set to TRUE to enable the implemented content quota. Use a Boolean object.

CONTENT_QUOTA_ALLOCATED_STORAGE

public static final java.lang.String CONTENT_QUOTA_ALLOCATED_STORAGE
Defaults to 25 MB. Use a Long object.

READ_INDICATION_ENABLED

public static final java.lang.String READ_INDICATION_ENABLED
Defaults to FALSE. Set to TRUE if user should have read indication enabled. Use a Boolean object.

EMAIL_ADDRESS

public static final java.lang.String EMAIL_ADDRESS
No default. Use a String object.

DISTINGUISHED_NAME

public static final java.lang.String DISTINGUISHED_NAME
Used if SHOULD_CREATE_CREDENTIAL_MANAGER_USER is false. No default. Use a String object.

PRIMARY_USER_PROFILE_NAME

public static final java.lang.String PRIMARY_USER_PROFILE_NAME
If none specified, name is constructed from prefix + username + suffix. Use a String object.

EMAIL_USER_PROFILE_NAME

public static final java.lang.String EMAIL_USER_PROFILE_NAME
If none specified, name is constructed from prefix + username + suffix. Use a String object.

CONTENT_QUOTA_NAME

public static final java.lang.String CONTENT_QUOTA_NAME
If none specified, name is constructed from prefix + username + suffix. Use a String object.

HOME_FOLDER_NAME

public static final java.lang.String HOME_FOLDER_NAME
If none specified, name is constructed from prefix + username + suffix. Use a String object.

HOME_FOLDER_DESCRIPTION

public static final java.lang.String HOME_FOLDER_DESCRIPTION
If none specified, name is constructed from prefix + username + suffix. Use a String object.

DEFAULT_ACLS_BUNDLE_NAME

public static final java.lang.String DEFAULT_ACLS_BUNDLE_NAME
If none specified, name is constructed from prefix + username + suffix. Use a String object.

HOME_FOLDER_POLICY_BUNDLE_NAME

public static final java.lang.String HOME_FOLDER_POLICY_BUNDLE_NAME
If none specified, name is constructed from prefix + username + suffix. Use a String object.

PRIMARY_USER_PROFILE_LANGUAGE

public static final java.lang.String PRIMARY_USER_PROFILE_LANGUAGE
If none specified, name is constructed from prefix + username + suffix. Use a String object.

PRIMARY_USER_PROFILE_CHARACTERSET

public static final java.lang.String PRIMARY_USER_PROFILE_CHARACTERSET
If none specified, name is constructed from prefix + username + suffix. Use a String object.

PRIMARY_USER_PROFILE_LOCALE

public static final java.lang.String PRIMARY_USER_PROFILE_LOCALE
If none specified, name is constructed from prefix + username + suffix. Use a String object.

PRIMARY_USER_PROFILE_TIMEZONE

public static final java.lang.String PRIMARY_USER_PROFILE_TIMEZONE
If none specified, name is constructed from prefix + username + suffix. Use a String object.

DISTINGUISHED_NAME_PREFIX

public static final java.lang.String DISTINGUISHED_NAME_PREFIX
Deprecated. iFS 9.0.2: set DISTINGUISHED_NAME explicitly

No longer used.

PRIMARY_USER_PROFILE_NAME_PREFIX

public static final java.lang.String PRIMARY_USER_PROFILE_NAME_PREFIX
No default. Use a String object.

EMAIL_USER_PROFILE_NAME_PREFIX

public static final java.lang.String EMAIL_USER_PROFILE_NAME_PREFIX
No default. Use a String object.

CONTENT_QUOTA_NAME_PREFIX

public static final java.lang.String CONTENT_QUOTA_NAME_PREFIX
No default. Use a String object.

HOME_FOLDER_NAME_PREFIX

public static final java.lang.String HOME_FOLDER_NAME_PREFIX
No default. Use a String object.

HOME_FOLDER_DESCRIPTION_PREFIX

public static final java.lang.String HOME_FOLDER_DESCRIPTION_PREFIX
No default. Use a String object.

DEFAULT_ACLS_BUNDLE_NAME_PREFIX

public static final java.lang.String DEFAULT_ACLS_BUNDLE_NAME_PREFIX
No default. Use a String object.

HOME_FOLDER_POLICY_BUNDLE_NAME_PREFIX

public static final java.lang.String HOME_FOLDER_POLICY_BUNDLE_NAME_PREFIX
No default. Use a String object.

EMAIL_ADDRESS_PREFIX

public static final java.lang.String EMAIL_ADDRESS_PREFIX
Deprecated. iFS 9.0.2: set EMAIL_ADDRESS explicitly

No longer used.

DISTINGUISHED_NAME_SUFFIX

public static final java.lang.String DISTINGUISHED_NAME_SUFFIX
Deprecated. iFS 9.0.2: set DISTINGUISHED_NAME explicitly

No longer used.

PRIMARY_USER_PROFILE_NAME_SUFFIX

public static final java.lang.String PRIMARY_USER_PROFILE_NAME_SUFFIX
Defaults to ' Primary Profile'. Use a String object.

EMAIL_USER_PROFILE_NAME_SUFFIX

public static final java.lang.String EMAIL_USER_PROFILE_NAME_SUFFIX
Defaults to ' Email Profile'. Use a String object.

CONTENT_QUOTA_NAME_SUFFIX

public static final java.lang.String CONTENT_QUOTA_NAME_SUFFIX
Defaults to ' Content Quota'. Use a String object.

HOME_FOLDER_NAME_SUFFIX

public static final java.lang.String HOME_FOLDER_NAME_SUFFIX
No default. Use a String object.

HOME_FOLDER_DESCRIPTION_SUFFIX

public static final java.lang.String HOME_FOLDER_DESCRIPTION_SUFFIX
Defaults to ''s home folder'. Use a String object.

DEFAULT_ACLS_BUNDLE_NAME_SUFFIX

public static final java.lang.String DEFAULT_ACLS_BUNDLE_NAME_SUFFIX
Defaults to ' DefaultACLs'. Use a String object.

HOME_FOLDER_POLICY_BUNDLE_NAME_SUFFIX

public static final java.lang.String HOME_FOLDER_POLICY_BUNDLE_NAME_SUFFIX
Defaults to 'Policy Bundle for Homefolder and Inbox'. Use a String object.

EMAIL_ADDRESS_SUFFIX

public static final java.lang.String EMAIL_ADDRESS_SUFFIX
Deprecated. iFS 9.0.2: set EMAIL_ADDRESS explicitly

No longer used.

EMAIL_SUBFOLDER_NAME

public static final java.lang.String EMAIL_SUBFOLDER_NAME
Defaults to 'mail'. Use a String object.

INBOX_NAME

public static final java.lang.String INBOX_NAME
Defaults to 'inbox'. Use a String object.

EMAIL_FOLDER_ROOT

public static final java.lang.String EMAIL_FOLDER_ROOT
Defaults to home folder. Use a String object.

DIRECTORY_USER_DESCRIPTION

public static final java.lang.String DIRECTORY_USER_DESCRIPTION
Defaults to null. Use a String object.

DIRECTORY_USER_ACL

public static final java.lang.String DIRECTORY_USER_ACL
Defaults to Published. Use an AccessControlList object.

HOME_FOLDER_POLICY_BUNDLE_ACL

public static final java.lang.String HOME_FOLDER_POLICY_BUNDLE_ACL
Defaults to Published. Use an AccessControlList object.

HOME_FOLDER_ACL

public static final java.lang.String HOME_FOLDER_ACL
Defaults to Private. Use an AccessControlList object.

DEFAULT_ACLS_BUNDLE_ACL

public static final java.lang.String DEFAULT_ACLS_BUNDLE_ACL
Defaults to Published. Use an AccessControlList object.

CONTENT_QUOTA_ACL

public static final java.lang.String CONTENT_QUOTA_ACL
Defaults to Private. Use an AccessControlList object.

PRIMARY_USER_PROFILE_ACL

public static final java.lang.String PRIMARY_USER_PROFILE_ACL
Defaults to Private. Use an AccessControlList object.

EMAIL_USER_PROFILE_ACL

public static final java.lang.String EMAIL_USER_PROFILE_ACL
Defaults to Private. Use an AccessControlList object.

EMAIL_SUBFOLDER_ACL

public static final java.lang.String EMAIL_SUBFOLDER_ACL
Defaults to Private. Use an AccessControlList object.

INBOX_ACL

public static final java.lang.String INBOX_ACL
Defaults to Private. Use an AccessControlList object.

DEFAULT_ACLS

public static final java.lang.String DEFAULT_ACLS
Defaults to 'AclBundleAllPublished' for non-Admin and 'AclBundleForAdmin' for Admin users. Use a String object.

FREE_CREDENTIAL_MANAGER_USER

public static final java.lang.String FREE_CREDENTIAL_MANAGER_USER
Delete user option - defaults to FALSE. Use a Boolean object.

FREE_HOME_FOLDER

public static final java.lang.String FREE_HOME_FOLDER
Delete user option - defaults to FALSE. Use a Boolean object.

CHANGE_OWNER

public static final java.lang.String CHANGE_OWNER
Delete user option - defaults to FALSE. Use a Boolean object.

NEW_OWNER_USER_NAME

public static final java.lang.String NEW_OWNER_USER_NAME
Delete user option - no default. Use a String object.

ACL_BUNDLE_ALL_PUBLISHED

public static final java.lang.String ACL_BUNDLE_ALL_PUBLISHED
No default. Use a PropertyBundle object.

ACL_BUNDLE_FOR_ADMIN

public static final java.lang.String ACL_BUNDLE_FOR_ADMIN
No default. Use a PropertyBundle object.
Constructor Detail

UserManager

public UserManager(LibrarySession sess)
            throws IfsException
Construct UserManager object.
Parameters:
sess - LibrarySession on which to manage users.
Method Detail

createUser

public DirectoryUser createUser(java.lang.String username,
                                java.lang.String password,
                                java.util.Hashtable options)
                         throws IfsException
Creates a new iFS user.
Parameters:
username - user name; can also be specified in the Hashtable as option UserName
password - password; can also be specified in the Hashtable as option Password
options - Hashtable of options which override the options contained in the named PropertyBundle IFS.ADK.CreateUserDefinitions.
Returns:
The newly created user.
Throws:
IfsException - if the operation fails

deleteUser

public void deleteUser(java.lang.String username,
                       java.util.Hashtable options)
                throws IfsException
Deletes an iFS user.
Parameters:
username - user name; can also be specified in the Hashtable as option UserName
options - Hashtable of options which override the options contained in the named PropertyBundle IFS.ADK.CreateUserDefinitions.
Throws:
IfsException - if invalid args are specified

normalizeOptionsHashtable

public java.util.Hashtable normalizeOptionsHashtable(java.util.Hashtable oldTable)
                                              throws IfsException
Normalizes the options Hashtable so that the keys are all uppercase.
Parameters:
oldTable - original mixed-case keys Hashtable
Returns:
new Hashtable with keys in uppercase.
Throws:
IfsException - if the operation fails

Oracle Content Management SDK

(c) 2002 Copyright Oracle Corporation. All rights reserved.