Class WSUsernameTokenPrincipal

java.lang.Object
org.apache.ws.security.WSUsernameTokenPrincipal
All Implemented Interfaces:
Serializable, Principal

public class WSUsernameTokenPrincipal extends Object implements Principal, Serializable
This class implements the Principal interface and represents a UsernameToken user.

In addition to the principal's name this principal object also conatins the nonce and created time of the UsernameToken (refer to the OASIS WS Security specification, UsernameToken profile). These values are set only if the password of UsernameToken was of type PasswordDigest.

Furthermore the password type is provided to the application. The password type is the string of the type attribute of the password element inside the username token. Refer to the OASIS WSS specification for predefined password types.

The equals() method use the prinicipal's name only and does not compare nonce or created time.

Modeled according to the example provided by JAAS documentation

Author:
Davanum Srinivas (dims@yahoo.com)., Werner Dittmann (Werner.Dittmann@siemens.com).
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    WSUsernameTokenPrincipal(String name, boolean digest)
    Create a WSUsernameTokenPrincipal with a WSUsernameToken username.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Compares the specified Object with this WSUsernameTokenPrincipal for equality.
    Return the WSUsernameToken created time for this WSUsernameTokenPrincipal.
    Return the WSUsernameToken username for this WSUsernameTokenPrincipal.
    Return the WSUsernameToken nonce for this WSUsernameTokenPrincipal.
    Return the WSUsernameToken password for this WSUsernameTokenPrincipal.
     
    int
    Return a hash code for this WSUsernameTokenPrincipal.
    boolean
    Return the WSUsernameToken password type for this WSUsernameTokenPrincipal.
    void
    setCreatedTime(String createdTime)
    Set the WSUsernameToken created time for this WSUsernameTokenPrincipal.
    void
    Set the WSUsernameToken nonce for this WSUsernameTokenPrincipal.
    void
    setPassword(String password)
    Set the WSUsernameToken password for this WSUsernameTokenPrincipal.
    void
    setPasswordType(String passwordType)
     
    Return a string representation of this WSUsernameTokenPrincipal.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.security.Principal

    implies
  • Constructor Details

    • WSUsernameTokenPrincipal

      public WSUsernameTokenPrincipal(String name, boolean digest)
      Create a WSUsernameTokenPrincipal with a WSUsernameToken username.

      Parameters:
      name - the WSUsernameToken username for this user.
      Throws:
      NullPointerException - if the name is null.
  • Method Details

    • getName

      public String getName()
      Return the WSUsernameToken username for this WSUsernameTokenPrincipal.

      Specified by:
      getName in interface Principal
      Returns:
      the WSUsernameToken username for this WSUsernameTokenPrincipal
    • isPasswordDigest

      public boolean isPasswordDigest()
      Return the WSUsernameToken password type for this WSUsernameTokenPrincipal.

      Returns:
      true if the password type was PassowrdDigest
    • setPassword

      public void setPassword(String password)
      Set the WSUsernameToken password for this WSUsernameTokenPrincipal.

      Parameters:
      password -
    • getPassword

      public String getPassword()
      Return the WSUsernameToken password for this WSUsernameTokenPrincipal.

      Returns:
      the WSUsernameToken password for this WSUsernameTokenPrincipal
    • setNonce

      public void setNonce(String nonce)
      Set the WSUsernameToken nonce for this WSUsernameTokenPrincipal.

      Parameters:
      nonce -
    • getNonce

      public String getNonce()
      Return the WSUsernameToken nonce for this WSUsernameTokenPrincipal.

      Returns:
      the WSUsernameToken nonce for this WSUsernameTokenPrincipal
    • setCreatedTime

      public void setCreatedTime(String createdTime)
      Set the WSUsernameToken created time for this WSUsernameTokenPrincipal.

      Parameters:
      createdTime -
    • getCreatedTime

      public String getCreatedTime()
      Return the WSUsernameToken created time for this WSUsernameTokenPrincipal.

      Returns:
      the WSUsernameToken created time for this WSUsernameTokenPrincipal
    • toString

      public String toString()
      Return a string representation of this WSUsernameTokenPrincipal.

      Specified by:
      toString in interface Principal
      Overrides:
      toString in class Object
      Returns:
      a string representation of this WSUsernameTokenPrincipal.
    • getPasswordType

      public String getPasswordType()
      Returns:
      Returns the passwordType.
    • setPasswordType

      public void setPasswordType(String passwordType)
      Parameters:
      passwordType - The passwordType to set.
    • equals

      public boolean equals(Object o)
      Compares the specified Object with this WSUsernameTokenPrincipal for equality. Returns true if the given object is also a WSUsernameTokenPrincipal and the two WSUsernameTokenPrincipals have the same username.

      Specified by:
      equals in interface Principal
      Overrides:
      equals in class Object
      Parameters:
      o - Object to be compared for equality with this WSUsernameTokenPrincipal.
      Returns:
      true if the specified Object is equal equal to this WSUsernameTokenPrincipal.
    • hashCode

      public int hashCode()
      Return a hash code for this WSUsernameTokenPrincipal.

      Specified by:
      hashCode in interface Principal
      Overrides:
      hashCode in class Object
      Returns:
      a hash code for this WSUsernameTokenPrincipal.