Active Directory와 함께 Windows 인증을 사용하여 싱글 사인온 (SSO)을 활용하는 웹 응용 프로그램을 만들려고합니다. 로그인 한 Windows 사용자 도메인 및 사용자 이름을 가져 오는 데 문제가 있습니다. 상황이 나는 시도했다 :IIS 10에서 C# Razor로 Windows 사용자 도메인/사용자 이름을 얻는 방법은 무엇입니까?
WindowsIdentity.GetCurrent().Name
반환
IIS APPPOOL\DefaultAppPool
System.Environment.UserName
반환
DefaultAppPool
를 컴파일 오류Page.User.Identity.Name
익명 인증에개결과를 사용할 수
ASP.NET 가장이<?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="EnableSimpleMembership" value="false" /> </appSettings> <system.web> <compilation debug="false" targetFramework="4.6.1"> <assemblies> <add assembly="System.Net.Http, Version=4.1.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> <add assembly="Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> </assemblies> </compilation> <httpRuntime targetFramework="4.6.1" /> <authentication mode="Windows" /> <authorization> <deny users="?" /> </authorization> <identity impersonate="true" /> </system.web> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Security.Cryptography.X509Certificates" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Win32.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> <system.webServer> <modules runAllManagedModulesForAllRequests="true"> </modules> <validation validateIntegratedModeConfiguration="false" /> <handlers> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> </system.webServer> </configuration>
을 활성화
Windows 인증을 사용할 수 있습니다
가 현재 요청에 따라 사용자를 확인하려고 되세요 때보기. '@ User.Identity' – Nkosi
BTW에서는 Windows ID를 얻기 위해 가장을 사용하지 않아도됩니다. 다른 서버에 액세스하여 서버에 액세스 한 사용자의 자격 증명을 "위임"하려는 경우에만 중요합니다. – grafgenerator