2010-04-05 7 views
3

Я надеюсь, что это не оговорка, но когда я вызываю System.Security.Principal.WindowsIdentity.GetCurrent(). Name.ToString() Я возвращаю идентификатор пользователя в нижнем регистре, но другие разработчики получают идентификатор пользователя верхнего регистра. Как я могу заставить ystem.Security.Principal.WindowsIdentity.GetCurrent(). Name.ToString() вернуть строку верхнего регистра?Верхний регистр из System.Security.Principal.WindowsIdentity.GetCurrent(). Name.ToString()?

ответ

1

Попробуйте

System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString().ToUpper() 
+0

Взгляните на мое обновление – chris

0

Добавить .ToUpper() после .ToString()

+0

Взгляните на мое обновление – chris

0

UPDATE !! Я до сих пор не полностью ответил на мой вопрос, но у меня есть ключ. Когда System.Security.Principal.WindowsIdentity.GetCurrent(). Name.ToString() вызывается из моего приложения ASP.Net при работе в IIS, я получаю идентификатор пользователя со всеми шапками. Когда я вызываю эту строку из моего приложения asp.net из веб-сервера vs.net, мой идентификатор находится в нижнем регистре.

Спасибо за ответ с помощью кода ToUpper(), но я проверил производственный код и не использовал его.

+0

Вам следует разработать локальный IIS, чтобы предотвратить дальнейшие проблемы. Тем не менее, для вашей текущей проблемы вы можете использовать методы ToUpper() или ToLower() класса string. – citronas

0

Когда пользователь входит в систему, он может набирать имя в любом случае: все мотивы, мори, мавритания и MAURICE приемлемы.

Это имя , набрав его, что WindowsIdentity.GetCurrent().Name() возвращается. Вы можете подтвердить это, набрав свой идентификатор пользователя необычным случаем и заблокировав рабочую станцию; отображаемое имя отражает то, что вы набрали, и не ваш идентификатор пользователя, как он был создан.

Смежные вопросы