Class UserModel

java.lang.Object
com.highdeal.hci.UserModel
All Implemented Interfaces:
XMLMarshallable

public class UserModel extends Object implements XMLMarshallable
This Java class represents a user of SAP Convergent Charging software; A user is any person (individual) or machine (service) allowed to work with SAP CC according to his assigned roles and resulting authorizations. Each message sent via HCI must include a header with the identifier of an SAP CC user as originator of the message.

A user is identified by a login/password.

If the advanced password management feature is enabled, each password has to conform to the complexity rules that have been defined by the administrator. Passwords may also have an expiration date after which they must be changed. A user can also be locked and thus prevented to do any operation if his password is wrongly entered several times.

SAP CC users are divided into two categories: individual (human) and service (non-human) users:

  • Individual users are dialog users as opposed to service users. They have different policies regarding passwords. Dialog users can be locked because of a number of failed authentication attempts, and must modify their password regularly. On the other hand, service users cannot be locked for unsuccessful login attempts and their password never expire.
  • Service users are intended for automated processes where such restrictions could cause an interruption of service.

Caution

Consult the SAP CC Security Guide about the role and authorization concept of SAP Convergent Charging.

See Also:

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="user">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="permission" minOccurs="0" maxOccurs="unbounded"> <!-- i.e. a role -->
        <xs:complexType>
          <xs:attribute name="value" type="xs:string"/>
        </xs:complexType>
     </xs:element>
    </xs:sequence>
    <xs:attribute name="login" type="xs:string"/>
    <xs:attribute name="password" type="xs:string"/>
    <xs:attribute name="catalogName" type="xs:string"/>
    <xs:attribute name="locked" type="xs:boolean"/>
    <xs:attribute name="human" type="xs:boolean" use="optional" default="true" /> <!-- deprecated -->
    <xs:attribute name="technical" type="xs:boolean" use="optional" default="false" />
    <xs:attribute name="passwordAuthEnabled" type="xs:boolean" use="optional" default="true" />
    <xs:attribute name="passwordRevoked" type="xs:boolean" use="optional" default="false" />
    <xs:attribute name="samlAuthEnabled" type="xs:boolean" use="optional" default="true" />
    <xs:attribute name="creationDate" type="xs:dateTime"/>
    <xs:attribute name="lastModificationDate" type="xs:dateTime"/>
    <xs:attribute name="validFrom" type="xs:dateTime"/>
    <xs:attribute name="validTo" type="xs:dateTime"/>
  </xs:complexType>
 </xs:element>

  • Field Details

    • TAG_NAME

      public static final String TAG_NAME
      The XML node tag name for the user model: "user"
      See Also:
    • PASSWORD_REVOKED_ATTRIBUTE_NAME

      public static final String PASSWORD_REVOKED_ATTRIBUTE_NAME
      The XML attribute name for password revoked
      See Also:
    • PASSWORD_AUTH_ENABLED_ATTRIBUTE_NAME

      public static final String PASSWORD_AUTH_ENABLED_ATTRIBUTE_NAME
      The XML attribute name for password-based authentication enabled
      See Also:
    • SAML_AUTH_ENABLED_ATTRIBUTE_NAME

      public static final String SAML_AUTH_ENABLED_ATTRIBUTE_NAME
      The XML attribute name for SAML authentication enabled
      See Also:
  • Constructor Details

    • UserModel

      public UserModel()
  • Method Details

    • getLoginID

      public String getLoginID()
      Returns the login of this SAP CC user.
      Returns:
      The login of this SAP CC user
    • setLoginID

      public void setLoginID(String id)
      Sets the login for this SAP CC user.
      Parameters:
      id - The login for this SAP CC user
    • getPassword

      public String getPassword()
      Returns the password of this SAP CC user.
      Returns:
      The password of this SAP CC user
    • setPassword

      public void setPassword(String pw)
      Sets the password for this SAP CC user.
      Parameters:
      pw - The password for this SAP CC user
    • getPermissions

      public List<String> getPermissions()
      Returns the list of role(s)/permission(s) assigned to this SAP CC user.
      Returns:
      A list of String representing existing role names
    • getCatalogName

      public String getCatalogName()
      Returns the name of the pricing catalog associated to this SAP CC user.
      Returns:
      The name of the catalog associated to this user, or null if the user is not associated to a catalog
    • setCatalogName

      public void setCatalogName(String catalogName)
      Sets the name of the catalog associated to this SAP CC user.
      Parameters:
      catalogName - The name of the catalog associated to this SAP CC user, or null if the user is not associated to a catalog
    • isLocked

      public boolean isLocked()
      Returns whether the SAP CC user is locked.
      Returns:
      Whether the SAP CC user is locked
    • setLocked

      public void setLocked(boolean locked)
      Sets whether the SAP CC user is locked.
      Parameters:
      locked - Whether the SAP CC user is locked
    • isHuman

      @Deprecated public boolean isHuman()
      Deprecated.
      Use isTechnical() instead.
      Gets whether the SAP CC user is not a technical user.
      Returns:
      true if the user is not a technical user, false otherwise
    • setHuman

      @Deprecated public void setHuman(boolean human)
      Deprecated.
      Sets whether the user is not a technical user.
      Parameters:
      human - Whether the user is not a technical user
    • isTechnical

      public boolean isTechnical()
      Gets whether the SAP CC user is a technical user (service user).
      Returns:
      true if the user is a technical user, false otherwise
    • setTechnical

      public void setTechnical(boolean technical)
      Sets whether the SAP CC user is a technical user.
      Parameters:
      technical - Whether the SAP CC user is a technical user
    • isPasswordAuthEnabled

      public boolean isPasswordAuthEnabled()
      Returns whether the password-based authentication is enabled for this SAP CC user.
      Returns:
      true if the password-based authentication is enabled for this user
    • setPasswordAuthEnabled

      public void setPasswordAuthEnabled(boolean value)
      Sets the flag that enable or disable the password-based authentication for this SAP CC user.
      Parameters:
      value - true if the password-based authentication is enabled for this user
    • isSamlAuthEnabled

      public boolean isSamlAuthEnabled()
      Returns whether the SAML authentication is enabled for this SAP CC user.
      Returns:
      true if the SAML authentication is enabled for this user
    • setSamlAuthEnabled

      public void setSamlAuthEnabled(boolean value)
      Sets the flag that enable or disable the SAML authentication for this SAP CC user.
      Parameters:
      value - true if the SAML authentication is enabled for this user
    • isPasswordRevoked

      public boolean isPasswordRevoked()
      Tells whether or not this SAP CC user must change his password on next login.
      Returns:
      true if this SAP CC user must change his password
    • setPasswordRevoked

      public void setPasswordRevoked(boolean passwordRevoked)
      Sets the flag that force this SAP CC user to change his password.
      Parameters:
      passwordRevoked - true if this user must change his password
    • getCreationDate

      public Date getCreationDate()
      Returns the date when this SAP CC user has been created.
      Returns:
      the date when this SAP CC user has been created.
    • setCreationDate

      public void setCreationDate(Date creationDate)
      Sets the creation date for this SAP CC user. The creation date is managed by SAP CC, modified value will be ignored.
      Parameters:
      creationDate - the creation date.
    • getLastModificationDate

      public Date getLastModificationDate()
      Returns the date of the last modification of this SAP CC user through the modify user operation.
      Returns:
      the date of the last modification of this SAP CC user.
    • setLastModificationDate

      public void setLastModificationDate(Date lastModificationDate)
      Sets the last modification date for this SAP CC user. The last modification date is managed by SAP CC, modified value will be ignored.
      Parameters:
      lastModificationDate - the last modification date.
    • getValidFrom

      public Date getValidFrom()
      Returns the start date of the validity period for this SAP CC user. A null value indicates that the validity period starts at the beginning of time. The validity period start date must be before the end date. The validity period is not available for technical users, any modification will be ignored. A SAP CC user interaction out of the defined validity period will be rejected.
      Returns:
      the start date of the validity period for this SAP CC user, could be null.
    • setValidFrom

      public void setValidFrom(Date validFrom)
      Sets the validity period start date for this SAP CC user.
      Parameters:
      validFrom - the validity period start date, could be null.
    • getValidTo

      public Date getValidTo()
      Returns the end date of the validity period for this SAP CC user. A null value indicates that the validity period never ends. The validity period end date must be after the start date. The validity period is not available for technical users, any modification will be ignored. A SAP CC user interaction out of the defined validity period will be rejected.
      Returns:
      the end date of the validity period for this SAP CC user.
    • setValidTo

      public void setValidTo(Date validTo)
      Sets the validity period end date for this SAP CC user.
      Parameters:
      validTo - the validity period end date, could be null.
    • setAttributes

      public void setAttributes(XMLAttributes atts)
      Description copied from interface: XMLMarshallable
      Sets the attributes of the XML representation of the element being processed.
      Specified by:
      setAttributes in interface XMLMarshallable
      Parameters:
      atts - The XML attributes of the current element
    • addChild

      public void addChild(String tagName, XMLMarshallable child)
      Description copied from interface: XMLMarshallable
      Adds a child to the object, the child representing the marshallable object which must be added to the element.
      Specified by:
      addChild in interface XMLMarshallable
      Parameters:
      tagName - The name of tag for the child
      child - The child to be added
    • addCharacterData

      public void addCharacterData(String cData)
      Description copied from interface: XMLMarshallable
      Adds character data to the content element.
      Specified by:
      addCharacterData in interface XMLMarshallable
      Parameters:
      cData - The character data to be added
    • marshal

      public void marshal(XMLOutputter output)
      Description copied from interface: XMLMarshallable
      Gives an XML representation of this object, including its children.
      Specified by:
      marshal in interface XMLMarshallable
      Parameters:
      output - The XML output to marshal the object into