Package com.documentum.fc.common

# Interface IDfLoginInfo

public interface IDfLoginInfo
Encapsulates the information needed to validate and login a user to a repository. It stores the user's credential information in addition to options that affect the server login process.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `SECURITY_MODE_NATIVE`
  Symbolic constant for `setSecurityMode(String)`.
  `static final String`
  `SECURITY_MODE_SECURE`
  Symbolic constant for `setSecurityMode(String)`.
  `static final String`
  `SECURITY_MODE_TRY_NATIVE_FIRST`
  Symbolic constant for `setSecurityMode(String)`.
  `static final String`
  `SECURITY_MODE_TRY_SECURE_FIRST`
  Symbolic constant for `setSecurityMode(String)`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getApplicationId()`
  Returns the application identifier.
  `String`
  `getApplicationToken()`
  Returns the application token.
  `String`
  `getDomain()`
  Returns the Windows NT domain name.
  `boolean`
  `getForceAuthentication()`
  Indicates whether connection authentication should be forced even if the connection is retrieved from the pool.
  `String`
  `getPassword()`
  Returns the password.
  `boolean`
  `getPeriodicAuthentication()`
  Indicates whether connection authentication should be performed from time to time for connections retrieved from the pool.
  `boolean`
  `getPrincipalMode()`
  Returns the principal mode indicator.
  `String`
  `getSecurityMode()`
  Returns the security mode.
  `String`
  `getUser()`
  Returns the user name.
  `String`
  `getUserArg1()`
  Returns the first optional argument used by custom server-side authentication plugins.
  `String`
  `getUserArg2()`
  Deprecated.
  a second user argument is no longer supported by the server.
  `boolean`
  `matches(IDfLoginInfo that)`
  A little bit looser variation of `equals`that allows for objects of different implementation type to be compared for equality relative to `IDfLoginInfo`.``
  `void`
  `setApplicationId(String identifier)`
  Sets the application identifier.
  `void`
  `setApplicationToken(String token)`
  Sets the application token.
  `void`
  `setDomain(String domain)`
  Sets the Windows NT domain name.
  `void`
  `setForceAuthentication(boolean forceAuthentication)`
  Sets whether connection authentication should be forced even if the connection is retrieved from the pool.
  `void`
  `setPassword(String password)`
  Sets the password.
  `void`
  `setPeriodicAuthentication(boolean periodicAuthentication)`
  Sets whether connection authentication should be performed from time to time for connections retrieved from the pool.
  `void`
  `setPrincipalMode(boolean principalMode)`
  Sets the principal mode indicator.
  `void`
  `setSecurityMode(String securityMode)`
  Sets the security mode.
  `void`
  `setUser(String userName)`
  Sets the user name.
  `void`
  `setUserArg1(String arg)`
  Sets the first optional argument used by custom server-side authentication plugins.
  `void`
  `setUserArg2(String arg)`
  Deprecated.
  a second user argument is no longer supported by the server.

- ## Field Details

  - ### SECURITY_MODE_SECURE

    static final String SECURITY_MODE_SECURE
    Symbolic constant for `setSecurityMode(String)`. The user is interested in a secure connection only. If the server default is set to 'native', the connection request fails. If the server default is set to either 'secure' or 'dual', the command succeeds.

  - ### SECURITY_MODE_NATIVE

    static final String SECURITY_MODE_NATIVE
    Symbolic constant for `setSecurityMode(String)`. The user is interested in a native connection only. If the server default is set to 'secure', the connection request fails. If the server default is set to either 'native' or 'dual', the request succeeds.

  - ### SECURITY_MODE_TRY_SECURE_FIRST

    static final String SECURITY_MODE_TRY_SECURE_FIRST
    Symbolic constant for `setSecurityMode(String)`. The user prefers a secure connection over a native connection. DFC tries to establish a secure connection first. If that fails, it will try to get a native connection. The connection request fails if neither a secure nor native connection can be established.

  - ### SECURITY_MODE_TRY_NATIVE_FIRST

    static final String SECURITY_MODE_TRY_NATIVE_FIRST
    Symbolic constant for `setSecurityMode(String)`. The user prefers a native connection over a secure connection. DFC tries to establish a native connection first. If that fails, it will try to get a secure connection. The connection request fails if neither a native nor a secure connect can be established.

- ## Method Details

  - ### getUser

    String getUser()
    Returns the user name.
    See Also:
      - `setUser(java.lang.String)`

  - ### setUser

    void setUser(String userName)
    Sets the user name.

    You should set the user name to match the operating system username, so that the repository can properly authenticate the user account.
    Parameters:
      `userName` - the user name
    See Also:
      - `getUser()`

  - ### getPassword

    String getPassword()
    Returns the password.
    See Also:
      - `setPassword(java.lang.String)`

  - ### setPassword

    void setPassword(String password)
    Sets the password.

    You should set the password to match the operating system user password, so that the repository can properly authenticate the user account.
    Parameters:
      `password` - the user's password
    See Also:
      - `getPassword()`

  - ### getDomain

    String getDomain()
    Returns the Windows NT domain name.

    Use this method only for Documentum servers running on Windows NT.
    See Also:
      - `setDomain(java.lang.String)`

  - ### setDomain

    void setDomain(String domain)
    Sets the Windows NT domain name.

    Use this method only for Documentum servers running on Windows NT.
    Parameters:
      `domain` - the Windows NT domain name
    See Also:
      - `getDomain()`

  - ### getUserArg1

    String getUserArg1()
    Returns the first optional argument used by custom server-side authentication plugins.
    See Also:
      - `setUserArg1(java.lang.String)`

  - ### setUserArg1

    void setUserArg1(String arg)
    Sets the first optional argument used by custom server-side authentication plugins.
    Parameters:
      `arg` - the argument
    See Also:
      - `getUserArg1()`

  - ### getUserArg2

    String getUserArg2()
    Deprecated.
    a second user argument is no longer supported by the server.
    Returns the second optional argument used by custom server-side authentication plugins.
    See Also:
      - `setUserArg2(java.lang.String)`

  - ### setUserArg2

    void setUserArg2(String arg)
    Deprecated.
    a second user argument is no longer supported by the server.
    Sets the second optional argument used by custom server-side authentication plugins.
    Parameters:
      `arg` - the argument
    See Also:
      - `getUserArg2()`

  - ### getApplicationId

    String getApplicationId()
    Returns the application identifier.
    See Also:
      - `setApplicationId(java.lang.String)`

  - ### setApplicationId

    void setApplicationId(String identifier)
    Sets the application identifier.

    The application identifier, provided by application as a text string, uniquely identifies the application.
    Parameters:
      `identifier` - application ID
    See Also:
      - `getApplicationId()`

  - ### getApplicationToken

    String getApplicationToken()
    Returns the application token.
    See Also:
      - `setApplicationToken(java.lang.String)`

  - ### setApplicationToken

    void setApplicationToken(String token)
    Sets the application token.
    Parameters:
      `token` - application token
    See Also:
      - `setApplicationToken(java.lang.String)`

  - ### getSecurityMode

    String getSecurityMode()
    Returns the security mode.
    See Also:
      - `setSecurityMode(java.lang.String)`

  - ### setSecurityMode

    void setSecurityMode(String securityMode)
    Sets the security mode.

    The security mode defines what type of connection the client application is requesting with the server. Valid values are: `SECURITY_MODE_SECURE`, `SECURITY_MODE_NATIVE`, `SECURITY_MODE_TRY_SECURE_FIRST`, `SECURITY_MODE_TRY_NATIVE_FIRST`.

    If security mode is not set, the request is sent to the server using the default mode defined in the dfc.properties file.

    The mode requested by the client interacts with the server's default secure connection setting. For details about the interaction for each of the client options, refer to the descriptions of the valid values for this method. For information about setting the server's default, refer to the Content Server Administrator's Guide.

    Parameters:
      `securityMode` - the security mode
    See Also:
      - `getSecurityMode()`

  - ### getPrincipalMode

    boolean getPrincipalMode()
    Returns the principal mode indicator.

    When principal mode is enabled it means that this credential represents a user (principal) who is known to be authentic and therefore a password is not needed for validation.
    Returns:
      `true` if the credential represents a principal who is known to be authentic.
    See Also:
      - `setPrincipalMode(boolean)`

  - ### setPrincipalMode

    void setPrincipalMode(boolean principalMode)
    Sets the principal mode indicator.

    When principal mode is enabled it means that this credential represents a user (principal) who is known to be authentic and therefore a password is not needed for validation.
    Parameters:
      `principalMode` - `true` if the credential represents a principal who is known to be authentic
    See Also:
      - `getPrincipalMode()`

  - ### getForceAuthentication

    boolean getForceAuthentication()
    Indicates whether connection authentication should be forced even if the connection is retrieved from the pool.
    Returns:
      `true` if authentication with the server should be forced.

  - ### setForceAuthentication

    void setForceAuthentication(boolean forceAuthentication)
    Sets whether connection authentication should be forced even if the connection is retrieved from the pool.

    If authentiation is forced then connection authentication will always occur the first time this login information is used even if the session comes from the pool and has already been authenticated at an earlier time.
    Parameters:
      `forceAuthentication` - `true` if authentication with the server should be forced.

  - ### getPeriodicAuthentication

    boolean getPeriodicAuthentication()
    Indicates whether connection authentication should be performed from time to time for connections retrieved from the pool.
    Returns:
      `true` if authentication with the server should be forced.

  - ### setPeriodicAuthentication

    void setPeriodicAuthentication(boolean periodicAuthentication)
    Sets whether connection authentication should be performed from time to time for connections retrieved from the pool.

    With periodic authentication when an IDfSessionManager.getSession or IDfSessionManager.newSession call is used to get a session and that session comes from the pool then the session is reauthenticated if the session has not been recently authenticated. The interval is configurable in dfc.properties.
    Parameters:
      `periodicAuthentication` - `true` if periodic authentication with the server should be performed.

  - ### matches

    boolean matches(IDfLoginInfo that)
    A little bit looser variation of `equals`that allows for objects of different implementation type to be compared for equality relative to `IDfLoginInfo`. The looser comparison also ignores differences in one or more transient fields (like forceAuthentication).

    This comparison is typically used to determine if one login info is effectively the same as another when performing session pooling operations.``
    Since:
      6.0