Class KerberosPrincipal

    • 字段详细信息

      • KRB_NT_UNKNOWN

        public static final int KRB_NT_UNKNOWN
        未知名称类型。
        另请参见:
        Constant Field Values
      • KRB_NT_PRINCIPAL

        public static final int KRB_NT_PRINCIPAL
        用户主体名称类型。
        另请参见:
        Constant Field Values
      • KRB_NT_SRV_INST

        public static final int KRB_NT_SRV_INST
        服务和其他唯一实例(krbtgt)的名称类型。
        另请参见:
        Constant Field Values
      • KRB_NT_SRV_HST

        public static final int KRB_NT_SRV_HST
        服务主机名称为实例(telnet,rcommands)的名称类型。
        另请参见:
        Constant Field Values
      • KRB_NT_SRV_XHST

        public static final int KRB_NT_SRV_XHST
        服务与主机作为剩余组件名称类型。
        另请参见:
        Constant Field Values
      • KRB_NT_UID

        public static final int KRB_NT_UID
        唯一的ID名称类型。
        另请参见:
        Constant Field Values
    • 构造方法详细信息

      • KerberosPrincipal

        public KerberosPrincipal​(String name)
        从提供的字符串输入构造一个KerberosPrincipal 此主体的名称类型默认为KRB_NT_PRINCIPAL该字符串假定包含2.1.1中规定的格式的名称。 (Kerberos主体名称表格)为RFC 1964 (例如, duke@FOO.COM ,其中公爵代表校长, FOO.COM代表一个领域)。

        如果输入名称不包含域,则使用默认域。 可以在Kerberos配置文件中或通过java.security.krb5.realm系统属性指定默认领域。 有关详细信息,请参阅Kerberos Requirements 另外,如果安装了一个安全管理员, 那么必须授予一个ServicePermission ,这个权限的服务主体最低限度在KerberosPrincipal的范围内。 例如,如果结果new KerberosPrincipal("user")user@EXAMPLE.COM ,则ServicePermission与服务主体host/www.example.com@EXAMPLE.COM (和任何动作)必须被授予。

        参数
        name - 主要名称
        异常
        IllegalArgumentException - 如果名称格式不正确,如果名称为空,或者名称不包含要使用的领域,并且未在Kerberos配置文件中或通过java.security.krb5.realm系统属性指定默认域。
        SecurityException - 如果安装了一个安全管理器,并且name不包含要使用的领域,并且不允许如上所述的适当的ServicePermission
      • KerberosPrincipal

        public KerberosPrincipal​(String name,
                                 int nameType)
        从提供的字符串和名称类型输入构造一个KerberosPrincipal 该字符串假定包含一个名称,其格式在第2.1节(强制性名称表格)中指定为RFC 1964 有效的名称类型在第6.2节(主体名称)中指定为RFC 4120 输入名称必须与提供的名称类型一致。 (例如, duke@FOO.COM ,是名称类型的有效输入字符串,KRB_NT_PRINCIPAL,其中, duke表示一个主体, FOO.COM表示一个领域)。

        如果输入名称不包含域,则使用默认域。 可以在Kerberos配置文件中或通过java.security.krb5.realm系统属性指定默认领域。 有关详细信息,请参阅Kerberos Requirements 另外,如果安装了一个安全管理员, 那么必须授予一个ServicePermission ,这个权限的服务主体最低限度在KerberosPrincipal的范围内。 例如,如果new KerberosPrincipal("user")的结果为user@EXAMPLE.COM ,则必须授予一个ServicePermission (服务主体host/www.example.com@EXAMPLE.COM (和任何操作))。

        参数
        name - 主要名称
        nameType - 主体的名称类型
        异常
        IllegalArgumentException - 如果名称格式不正确,如果name为空,如果nameType不受支持,或者name不包含要使用的领域,并且在Kerberos配置文件或通过java.security中未指定默认域。 krb5.realm系统属性。
        SecurityException - 如果安装了安全管理器,并且name不包含要使用的领域,并且不允许如上所述的适当的ServicePermission
    • 方法详细信息

      • getRealm

        public String getRealm​()
        返回此Kerberos主体的领域组件。
        结果
        该Kerberos主体的领域组件。
      • equals

        public boolean equals​(Object other)
        将指定的对象与此主体进行比较以获得相等性。 如果给定的对象也是一个KerberosPrincipal ,并且两个KerberosPrincipal实例是等价的,则返回true。 如果getName()返回的值相等, KerberosPrincipal正式地两个KerberosPrincipal实例相等。
        Specified by:
        equals在接口 Principal
        重写:
        equalsObject
        参数
        other - 要比较的对象
        结果
        如果传入的对象代表与此相同的主体,则为true,否则为false。
        另请参见:
        Object.hashCode()HashMap
      • getName

        public String getName​()
        返回的字符串对应于 RFC 1964的第2.1节中指定的Kerberos主体名称的单字符串表示 形式
        Specified by:
        getName在接口 Principal
        结果
        主要名称。
      • getNameType

        public int getNameType​()
        返回KerberosPrincipal的名称类型。 有效的名称类型在第RFC4120节中指定。
        结果
        名称类型。
      • toString

        public String toString​()
        返回此 KerberosPrincipal的内容丰富的文字表示。
        Specified by:
        toString在接口 Principal
        重写:
        toStringObject
        结果
        an informative textual representation of this KerberosPrincipal.