2012-01-19 3 views
0

ASP.Net 웹 응용 프로그램에서 Windows 인증을 사용하고 로그인 한 사용자 이름을 검색하려는 코드 숨김을 사용하고 있습니다. 이 일상적인 WindowsIdentity.GetCurrent(). 이름을 사용하고 있지만 사용자 이름을 얻는 대신 NT AUTHORITY \ NETWORK SERVICE가 표시됩니다. 변경해야하거나 사용자가 예상과 다른 방식으로 로그인하고 있습니까?ASP.NET 웹 응용 프로그램에서 로그인 한 사용자를 검색하려면 어떻게해야합니까?

+0

몇 가지 코드를 보여주십시오. – gabsferreira

+0

익명 액세스가 아직 열려 있습니까? –

+0

체크 this http://forums.asp.net/t/1102996.aspx – Nappy

답변

1

:

<system.web> 
    <identity impersonate="true"/> 
</system.web> 

이 웹 앱이 현재 로그인 한 가장 것 사용자. 그것은 약간의 함의를 가지고 있습니다. 중요한 것은 에 로그인 한 사용자 인에 파일, 폴더, 데이터베이스 등에 대한 적절한 권한이 있어야한다는 것입니다.

원하지 않는 경우 WindowsIdentity.GetCurrent() 대신 User.Identity을 사용할 수 있습니다.

2

현재 HttpContext 개체의 정체성을 얻을 것이다 사용 this.Context.User.Identity.Name : 귀하의 Web.config에 다음을 추가 http://msdn.microsoft.com/en-us/library/system.web.httpcontext.user.aspx

+0

James Answer에 추가하려면 WindowsIdentity.GetCurrent()가 응용 프로그램에 로그인 한 사용자가 아니라 응용 프로그램 풀을 실행하는 사용자를 반환합니다. –

관련 문제