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