12

Windows 인증을 사용하여 사용자 이름을 가져오고 싶습니다.asp.net에서 Windows 인증을 사용하여 사용자 이름을 얻는 방법은 무엇입니까?

실제로 "다른 사용자로 로그인"을 클릭하면이 단추를 클릭하면 Windows 보안이 표시되어 자격 증명을 제공 할 수 있습니다.

다른 인증 정보를 제공하면 현재 사용자 이름 만 사용합니다. Windows 보안에서 제공된 자격 증명 사용자 이름을 얻는 방법?

IIS의 호스트 응용 프로그램에서 익명 인증이 사용되지 않고 Windows 인증이 사용되었습니다.

의 Web.config :

<system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <identity impersonate="true"/> 
    <authorization> 
     <allow users="*"/> 
     <deny users="*"/> 
    </authorization> 
</system.web> 
<system.webServer> 
    <directoryBrowse enabled="true" /> 
    <security> 
     <authentication> 
      <anonymousAuthentication enabled="false" /> 
      <windowsAuthentication enabled="true" /> 
     </authentication> 
    </security> 

.cs 여기

난 항상

string fullName = Request.ServerVariables["LOGON_USER"]; 

모든 아이디어를 기본 사용자 이름을 무엇입니까? 사전

답변

0

감사는 당신이 사용자 정의 로그인 페이지를 시도 할 수 있습니다 새로운 자격 증명

string fullName = Request.ServerVariables["LOGON_USER"]; 

을받지 않기 때문에 아래의 코드를 생각한다.

+0

감사합니다 아래 자신의 문서를 참조하십시오? – user2148679

+0

새로운 로그인 페이지를 디자인해야했습니다. Windows 인증을 사용하여 활성 디렉토리 인증을 시도 할 수 있습니다. 페이지를 실행중인 브라우저는 무엇입니까? –

21

다음과 같은 방법으로 Windows 인증에서 사용자의 WindowsIdentity 개체를 얻을 수 있습니다 :

WindowsIdentity identity = HttpContext.Current.Request.LogonUserIdentity; 

다음은 identity.Name 같은 사용자에 대한 정보를 얻을 수 있습니다.

이 코드에는 HttpContext가 있어야합니다.

+0

귀하의 회신에 감사드립니다 ... 나는 이것을 시도했지만 작동하지 않습니다 ... 나는이 문제를 해결하는 방법을 취하고있다 Windows 보안에 잘못된 암호를 주면? – user2148679

+2

Windows 인증 대화 상자에서 잘못된 암호 입력을 의미합니까? 인증을 통과해서는 안됩니다. – slepox

4

이 작동합니다 :

User.Identity.Name 

Identity은 여기 IPrincipal

를 반환 마이크로 소프트 documentation에 대한 링크입니다.