2013-11-13 2 views
1

Как и название. Вам нужна регистрация в Windows и информация о домене на нашей странице asp.net.Получить Windows Logon изнутри ASP.NET Page

Я попытался

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

но возвращает IIS пул приложений не имя пользователя

Благодарности

+1

НТН http://stackoverflow.com/questions/1267071/how-to-get-windows-user-name-when-identity-impersonate-true-in -asp-net – Joe

+0

Возможно это? http://msdn.microsoft.com/en-us/library/system.web.httpcontext.user(v=vs.110).aspx – CDspace

+0

Где установить " в моем web.comfig? Кроме того, я сделал тест, а IsAuthenticated - False. – RobDog888

ответ

4

Try HttpContext.User, доступные просто User из кода позади. Он возвращает и домен и имя пользователя, но должен быть достаточно простым, чтобы обрезать для ваших нужд. В прошлом это работало для меня. Вы также можете использовать это для управления ролями в своем приложении, если вам нужно.

EDIT
Ниже приведены соответствующие части моего web.config. Я также использовал aspnet_regsql.exe для настройки таблиц, необходимых для диспетчера ролей в моей базе данных. Тогда я мог бы использовать User.Identity.Name и User.Identity.IsInRole

<connectionStrings> 
    <clear/> 
    <add name="SqlRoleManagerConnection" 
     connectionString="myConnectionString"> 
    </add> 
    </connectionStrings> 

    <system.web> 
    <authentication mode="Windows" /> 
    <authorization> 
     <deny users="?"/> 
    </authorization> 
    <roleManager enabled="true" defaultProvider="SqlRoleManager"> 
     <providers> 
     <clear/> 
     <add name="SqlRoleManager" 
      type="System.Web.Security.SqlRoleProvider" 
      connectionStringName="SqlRoleManagerConnection" 
      applicationName="myAppName" /> 
     </providers> 
    </roleManager> 
    </system.web> 
+0

Для того, чтобы это сработало, вам нужно либо настроить приложение в IIS, либо в web.config, чтобы запретить анонимным пользователям, или вы получите пустое. – Tim

+0

@Tim См. Редактирование, добавлены соответствующие части web.config – CDspace

0

Это мой код в VB.net

вар strUser = System.Web.HttpContext.Current.User.Identity.Name

так C# должны быть в строках: (не проверено) строка strUser = System.Web.HttpContext.Current.User.Identity.Name;

в файле Web.config

<configuration> 
    <system.web> 
     <authentication mode="Windows"/> 
     <identity impersonate="true" /> 
    </system.web> 
</configuration> 

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

  • Нет связанных вопросов^_^