Аутентификация с использованием samAccountName в формате UPN

При добавлении поддержки аутентификации пользователя через Active Directory с использованием пользователя samAccountNameЯ случайно авторизовался samAccountName в формате UPN.

Пример: пользователь имеет UPN из test@mycorp.com samAccountName является anotherTestОбратите внимание, что samAccountName и UPN совершенно разные. Когда я выполняю операцию привязки ldap с именем пользователя как anotherTest@mycorp.comаутентификация на удивление успешна.

Почему это удается? Допустимо ли связывать с samAccountName в формате UPN?

Спасибо

2 ответа

Решение

Хороший вопрос. Это было так, и я никогда не пытался найти ответ. Я не мог найти документ в Интернете, но только это обсуждение на другом форуме.

Похоже, что в Active Directory есть имя пользователя по умолчанию (но не ADAM), независимо от того, какое значение вы установили в userPrincipalName приписывать. UPN по умолчанию имеет вид <samAccountName>@<domainName>,

Вы также должны отметить, что userPrincipalName Атрибут не является обязательным атрибутом. Это означает, что вы всегда можете создать пользовательский объект AD без значения, назначенного userPrincipalName приписывать. Вы не поймете, что если вы создаете его с помощью оснастки "Active Directory - пользователь и компьютер", потому что сам пользовательский интерфейс заставляет вас всегда вводить значение. Однако, если вы создаете объект AD программно с помощью ADSI, вы можете это сделать.

Если вы достаточно взрослый, чтобы иметь некоторый опыт работы с системой NT4, вы должны знать, что в то время существовал только samAccountName, но не было UPN. Именно поэтому при переходе с NT4 на Windows 2003 вы создадите группу пользователей, для которых не задан UPN.

Я подозреваю, что это было побуждением иметь имя пользователя по умолчанию, полученное из samAccountName,

Обратите внимание, что samAccountName является обязательным атрибутом для объекта пользователя AD. Таким образом, нет никаких шансов, что этот атрибут пуст.

Исходя из информации, представленной в документации MSDN, кажется, что samAccourntName@domainName разрешает успешное связывание:

UPN объекта является либо:

  • Значение атрибута userPrincipalName объекта или
  • Только для AD DS: значение атрибута sAMAccountName объекта, за которым следует знак "@", за которым следует либо:
    • DNS-имя домена в том же лесу, что и объект,
    • или Значение в атрибуте uPNSuffixes контейнера Разделов в конфигурации NCreplica.
Другие вопросы по тегам