Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This section is relevant only for KILE implementations that use Active Directory for the account database.
If the Name Type ([RFC4120] Section 6.2) is NT-PRINCIPAL, then the KDC SHOULD:
If the realm field is not present in the request or is the DC's domain name, call GetUserLogonInfoByAttribute ([MS-ADTS] section 3.1.1.13.6) where:
If STATUS_NOT_FOUND or STATUS_NO_SUCH_USER is returned ([MS-ERREF] section 2.3.1), then if realm is not present or is the DC's domain name, call GetUserLogonInfoByAttribute where:
SearchKey is set to cname + "$".
Attribute is set to sAMAccountName.
If STATUS_NOT_FOUND or STATUS_NO_SUCH_USER is returned, then call GetUserLogonInfoByUPNOrAccountName ([MS-ADTS] section 3.1.1.13.7) where UPNOrName is set to:
If realm is present, cname@realm.
Otherwise, cname@DC's domain name.
If STATUS_NOT_FOUND or STATUS_NO_SUCH_USER is returned and:
If no preauthentication data was provided, then call IDL_DRSCrackNames ([MS-DRSR] section 4.1.4) where:
pmsgIn.dwFlags is set to GC and TR.
pmsgIn.formatOffered is set to DS_USER_PRINCIPAL_NAME_AND_ALTSECID ([MS-DRSR] section 4.1.4.1.2).
pmsgIn.cNames is set to 1.
pmsgIn.rpNames is set to:
If realm is present, cname@realm.
Otherwise, cname@DC's domain name.
If preauthentication data was provided, then call IDL_DRSCrackNames where:
pmsgIn.dwFlags is set to GC and TR.
pmsgIn.formatOffered is set to DS_USER_PRINCIPAL_NAME ([MS-DRSR] section 4.1.4.1.3).
pmsgIn.cNames is set to 1.
pmsgIn.rpNames is set to:
If realm is present, cname@realm.
Otherwise, cname@DC's domain name.
If DS_NAME_ERROR_NOT_FOUND is returned ([MS-DRSR] section 4.1.4.1.8), then the KDC MUST return KDC_ERR_C_PRINCIPAL_UNKNOWN ([RFC4120] section 7.5.9).
If the Name Type is NT-ENTERPRISE, then the KDC SHOULD:
Set local variable UPNClientName to the contents of cname before the @ character.
Set local variable UPNDomainName to the contents of cname after the @ character.
Call GetUserLogonInfoByUPNOrAccountName where UPNOrName is set to cname.
If STATUS_NOT_FOUND or STATUS_NO_SUCH_USER is returned and UPNDomainName is the same as the DC's domain name, then call GetUserLogonInfoByAttribute where:
SearchKey is set to UPNClientName.
Attribute is set to sAMAccountName.
If STATUS_NOT_FOUND or STATUS_NO_SUCH_USER is returned and UPNDomainName is the same as the DC's domain name, then call GetUserLogonInfoByAttribute where:
SearchKey is set to UPNClientName + "$".
Attribute is set to sAMAccountName.
If STATUS_NOT_FOUND or STATUS_NO_SUCH_USER is returned and:
If no preauthentication data was provided, then call IDL_DRSCrackNames where:
pmsgIn.dwFlags is set to GC and TR.
pmsgIn.formatOffered is set to DS_USER_PRINCIPAL_NAME_AND_ALTSECID.
pmsgIn.cNames is set to 1.
pmsgIn.rpNames is set to cname.
If preauthentication data was provided, then call IDL_DRSCrackNames where:
pmsgIn.dwFlags is set to GC and TR.
pmsgIn.formatOffered is set to DS_USER_PRINCIPAL_NAME.
pmsgIn.cNames is set to 1.
pmsgIn.rpNames is set to cname.
If STATUS_NOT_FOUND or STATUS_NO_SUCH_USER is returned, then the KDC MUST return KDC_ERR_C_PRINCIPAL_UNKNOWN.
In all cases, if the call succeeds, the Active Directory account for the requested principal was found.