Что означает вход в систему как "username@mydomain.com: что-то"

Мой компьютер с Windows 2008 R2 присоединен к домену.

На экране входа в систему, если я ввожу в качестве имени пользователя "username@mydomain.com: что-то", я все равно могу правильно войти в систему, что означает ": что-то", добавленное в конце?

Я даже вижу, что текущий пользователь отображается как "username@mydomain.com: что-то" на экране пользователя коммутатора. Это особенность в Windows? Или это просто ошибка? Если это функция, в чем разница между входом в систему как "username@mydomain.com" и входом в систему как "username@mydomain.com: что-то"?

Обратите внимание, что я пробовал разные комбинации, такие как "mydomain \ username: что-то" и "mydomain.com:something\username". Ни один из них не работает, кроме "username@mydomain.com: что-то".

10 сентября 2012 Обновление

Проблема RunAs, поднятая Джастином, похожа на проблему, которую я хочу решить. Если вы делаете

runas /user:username@mydomain.com:anything

ты получишь

RUNAS ERROR: Unable to acquire user password

Я проверил, что RunAs даже не удосужился позвонить в LSA при просмотре username@mydomain.com:anything как имя пользователя. RunAs должен был выполнить проверку ввода и вернуть ошибку там.

WinLogon отличается. Он принимает этот формат ввода и передает "username@mydomain.com: что угодно" в LSA. Я вижу LogonUserEx2 внутри kerberos.dll позвонил. Это либо ошибка в логике проверки ввода WinLogon, либо это действительно приемлемый формат для некоторых скрытых функций.

26 сентября 2012 Обновление

Я только что отправил дело в службу поддержки Microsoft Premier. Я буду обновлять здесь, если я получу какие-либо обновления от них.

1 ответ

Я открыл дело с поддержкой Microsoft Premier. Вот электронная почта между мной и поддержкой Microsoft. Они в основном говорят, что это известная проблема. Это не ошибка, и это не особенность.

Внутренний интерфейс будет анализировать имя пользователя и правильно удалять недопустимые символы. Внешний интерфейс не выполняет никакой проверки пользовательского интерфейса, поскольку может существовать какой-либо другой пользовательский интерфейс для входа в систему. Их требования к имени пользователя могут отличаться. Я думаю, что они имеют в виду сторонних поставщиков учетных данных.

05 октября 2012 утро

Я только что позвонил одному из их инженеров. Объясните ему всю проблему еще раз. Он уверен, что :something не имеет особого значения внутри страны на сегодняшний день, но он не может гарантировать, что это может что-то значить в будущем.

Однако у него нет исходного кода, чтобы подтвердить это. Он собирается отправить электронное письмо кому-то еще с исходным кодом, чтобы подтвердить это.

03 октября 2012 г. ночь - мой ответ

Спасибо за информацию. Тем не менее, я попробовал некоторые другие нелегальные символы, например; и |

Пользовательский интерфейс входа в систему может успешно обнаружить это и сказать мне, что мое имя пользователя или пароли неверны.

Если внешний интерфейс действительно не выполняет никакой проверки ввода, а внутренний интерфейс действительно может удалить все недопустимые символы, почему пользовательский интерфейс входа не позволит мне войти в систему как Harvey@company.com|something или Harvey@company.com; что-то, кроме Harvey@company.com: что-то.

Это странное поведение происходит только на ":".

-Harvey

3 октября 2012 г. - ответ службы поддержки MS

Привет Харви,

Нет ошибки в проверке внешнего интерфейса, так как внешний интерфейс не выполняет никакой проверки. Проверка выполняется, когда вы вводите свои учетные данные и пытаетесь войти в систему, затем в фоновом режиме выполняется проверка и отображается соответствующая ошибка.

Причина, по которой не выполняется предварительная проверка, заключается в том, что используются сторонние пользовательские интерфейсы для входа в систему, которые используются и требования к работе и аутентификации пользователя могут быть другими. Некоторые пользовательские интерфейсы могут требовать имя пользователя в формате diff, поэтому выполнение проверки при вводе учетных данных пользователя нарушит эти пользовательские интерфейсы.

Что касается Backend, каждый пользовательский интерфейс вызывает API-интерфейсы аутентификации Backend, независимо от того, какой пользовательский интерфейс присутствует во внешнем интерфейсе. Таким образом, выполнение проверки в бэкэнде обеспечивает правильную аутентификацию

С уважением XXXX

03 октября 2012 г. - мой ответ

Я понимаю объяснение различной обработки в front-end и back-end, так как я также программист.

Таким образом, это звучит как небольшая ошибка в логике проверки входных данных интерфейса пользователя, хотя в фоновом режиме ошибки нет.

Обратите внимание, что я также пытался сделать то же самое с помощью runas.exe. Файл runas.exe показал мне сообщение об ошибке перед передачей искаженного имени пользователя на сервер. Итак, мне кажется, что runas.exe выполняет правильную проверку ввода.

Если вы все еще думаете, что в интерфейсе пользовательского интерфейса нет ошибки, не могли бы вы объяснить, как дать конечному пользователю возможность ввести искаженное имя пользователя, а затем отобразить его на экране?

Спасибо Харви

3 октября 2012, утро - MS Support ответ

Привет Харви,

Я прошу прощения за задержку. Я переправил ваш вопрос в мое МСП, и вот его ответ: без ошибок. пользовательский интерфейс отображает то, что вы ввели. Бэкэнд анализирует строку, чтобы определить домен и имя пользователя. Это делает это правильно, так как: это незаконный символ.

Пожалуйста, дайте мне знать, если это прояснит ваши вопросы или я смогу помочь вам в дальнейшем.

С уважением XXXXX

Другие вопросы по тегам