Как получить имя пользователя, обращающегося к странице интрасети ASP.NET в локальной сети?

У нас есть сайт интрасети ASP.NET, доступный для пользователей, которые физически находятся на локальном компьютере и вошли на него, либо для пользователей, которые подключаются удаленно через VPN. Есть ли способ автоматически получить имя пользователя для всех, кто обращается к странице, на основе имени, используемого для входа на локальный компьютер или для VPN?


person notnot    schedule 17.04.2009    source источник


Ответы (5)


Это возможно, если вы используете на своих страницах проверку подлинности Windows.

Вы можете использовать либо Page.User.Identity.Name, либо более полный System.Web.HttpContext.Current.User.Identity.Name.

Об этом подробнее здесь:

Включение проверки подлинности Windows в веб-приложении ASP.NET во внутренней сети

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

person Jon Limjap    schedule 17.04.2009
comment
Просто примечание, но если вы используете проверку подлинности с помощью форм, User.Identity.Name также будет содержать имя пользователя auth с помощью форм. - person Brent Pabst; 07.08.2012

Получите User информацию следующим образом:

User.Identity.Name \\ Get the User name
User.Identity.AuthenticationType \\ What is the Authentication type
User.Identity.IsAuthenticated \\ Is he authenticated?
User.IsInRole("Administrators") \\ Is he administrator?
person Kisan Patel    schedule 11.12.2012

Если проверка подлинности настроена на выполнение встроенной проверки подлинности Windows, вы сможете получить ее, открыв

User.Identity.Name

person Dave    schedule 17.04.2009

Ты можешь использовать

Page.User.Identity.Name
person cjk    schedule 17.04.2009

Если аутентификация выполняется в окнах, это должно помочь:

IIdentity WinId= HttpContext.Current.User.Identity;
WindowsIdentity wi = (WindowsIdentity)WinId;
person Gulzar Nazim    schedule 17.04.2009
comment
вы используете проверку подлинности с помощью форм или Windows? - person Gulzar Nazim; 17.04.2009
comment
Оказывается, проблема заключалась в том, что наш администратор установил для анонимного доступа значение true. - person notnot; 17.04.2009
comment
ААА понятно. посетите раздел анонимного доступа eggheadcafe.com/articles/20050703.asp - person Gulzar Nazim; 17.04.2009