public KerberosPrincipal(String name) {
PrincipalName krb5Principal = null;
try {
// Appends the default realm if it is missing
krb5Principal = new PrincipalName(name, KRB_NT_PRINCIPAL);
} catch (KrbException e) {
throw new IllegalArgumentException(e.getMessage());
}
nameType = KRB_NT_PRINCIPAL; // default name type
fullName = krb5Principal.toString();
realm = krb5Principal.getRealmString();
}
Constructs a KerberosPrincipal from the provided string input. The
name type for this principal defaults to
KRB_NT_PRINCIPAL
This string is assumed to contain a name in the format
that is specified in Section 2.1.1. (Kerberos Principal Name Form) of
RFC 1964
(for example, duke@FOO.COM, where duke
represents a principal, and FOO.COM represents a realm).
If the input name does not contain a realm, the default realm
is used. The default realm can be specified either in a Kerberos
configuration file or via the java.security.krb5.realm
system property. For more information,
Kerberos Requirements Parameters:
name - the principal name
Throws:
IllegalArgumentException - if name is improperly
formatted, if name is null, or if name does not contain
the realm to use and the default realm is not specified
in either a Kerberos configuration file or via the
java.security.krb5.realm system property.
|
public KerberosPrincipal(String name,
int nameType) {
PrincipalName krb5Principal = null;
try {
// Appends the default realm if it is missing
krb5Principal = new PrincipalName(name,nameType);
} catch (KrbException e) {
throw new IllegalArgumentException(e.getMessage());
}
this.nameType = nameType;
fullName = krb5Principal.toString();
realm = krb5Principal.getRealmString();
}
Constructs a KerberosPrincipal from the provided string and
name type input. The string is assumed to contain a name in the
format that is specified in Section 2.1 (Mandatory Name Forms) of
RFC 1964.
Valid name types are specified in Section 6.2 (Principal Names) of
RFC 4120.
The input name must be consistent with the provided name type.
(for example, duke@FOO.COM, is a valid input string for the
name type, KRB_NT_PRINCIPAL where duke
represents a principal, and FOO.COM represents a realm).
If the input name does not contain a realm, the default realm
is used. The default realm can be specified either in a Kerberos
configuration file or via the java.security.krb5.realm
system property. For more information, see
Kerberos Requirements. Parameters:
name - the principal name
nameType - the name type of the principal
Throws:
IllegalArgumentException - if name is improperly
formatted, if name is null, if the nameType is not supported,
or if name does not contain the realm to use and the default
realm is not specified in either a Kerberos configuration
file or via the java.security.krb5.realm system property.
|