Назад | Перейти на главную страницу

Почему a и o в samAccountName можно заменить датскими å и ø?

Сотрудник только что продемонстрировал мне, что учетные записи в нашем тестовом AD могут аутентифицироваться при замене каждого а характер в их samAccountName с датским характером å (134-й символ таблицы ASCII / å).

Например. Пользователь <domain>\aaa может аутентифицироваться как ååå.

Я попытался воспроизвести это в только что подготовленном W2K12R2 AD (один сервер, все стандартные значения), и он там тоже работает. Я создал аккаунт aaa (никогда не касаясь буквы å в процессе, так что ничего не содержит å) и запустил:

PS C:\Users\Administrator> runas /user:ååå notepad
Enter the password for ååå:
Attempting to start notepad as user "DEV-DLI\ååå" ...
PS C:\Users\Administrator>

что вызвало запуск блокнота, работающего как aaa.

То же самое верно и для о и датский характер ø, а последний датский специальный символ æ похоже, не соответствует какому-либо другому персонажу. С пользователем aaa в AD, пытаясь создать пользователя с samAccountName ååå потерпит неудачу, сообщив вам, что The user logon name you have chosen is already in use (...).

Я гуглил как сумасшедший, но не смог понять, что происходит. Есть ли у кого-нибудь подсказки, почему это работает?

Это сделано намеренно. Короче говоря, Active Directory преобразует акцентированные / диакритические символы в их «простую» форму. См. Следующую статью службы поддержки Microsoft.

Поведение при входе в Windows, если ваше имя пользователя содержит символы с диакритическими знаками или диакритическими знаками. (Мертвая ссылка) (Живая версия заархивирована Вот):

Если ваше имя пользователя в службе каталогов Active Directory содержит один или несколько символов с диакритическими знаками или диакритическими знаками, вы можете обнаружить, что вам не нужно использовать диакритический знак при вводе имени пользователя для входа в Windows. Вы можете войти в систему, используя простую форму персонажа или персонажей. Например, если ваше имя пользователя в Active Directory - jésush, вы можете ввести jesush в поле «Имя пользователя» диалогового окна «Вход в Windows», чтобы войти в Windows.

Это происходит из-за того, что в ситуациях, когда вам нужно войти в Windows с компьютера, на котором не установлено предпочтительное сопоставление клавиатуры, вы все равно можете войти в Windows, используя свое имя пользователя без диакритических знаков.

Это результат «Сопоставления»

В дополнении к Ссылка @ jscott (+1) и немного длиннее для комментария:
нечто подобное делается с регистром, так как, хотя имя пользователя хранится в правильном регистре, вы можете войти в систему с именем пользователя во всех строчных, верхних и даже смешанных регистрах. HBruijn = hbruijn = HbRuIjN, AD есть с учетом регистра, но без учета регистра в некоторых областях.

Правильный термин (в ИТ чаще всего встречается в конфигурации базы данных): Сопоставление и это то, что определяет порядок, соответствие и каноническая эквивалентность. Правила сопоставления обычно также зависят от языкового стандарта.

Интересно может быть