2012-08-02 2 views
1

이 위치를 변경하는 방법에 대한 정보를 찾고 있습니다 ... .net 4 웹 앱이 하나의 상자에 앉아 SQL 데이터베이스가 다른 서버에 앉아 있습니다. 의 I는 호스트의 응용 프로그램을 공격하는 경우 AD 로그인이 내가 로컬 응용 프로그램을 실행하면, 내가 올바른 로그인 예 : "MYDOMAIN \ myLogin으로" 을 얻을.Net 4 - 돌아 오는 사용자 Windows 로그인

System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

와 응용 프로그램을 통해 포착하여 사용하는 윈도우 사용자 상자를 선택하면 "IIS APPPOOL \ ASB", ASB는 사용 된 AppPool의 이름 (및 앱 이름)이됩니다. 정말 "MyDomain \ MyLogin"을 반환해야하므로 다른 접근 방식을 사용해야합니까?

<authentication mode="Windows" /> 
    <identity impersonate="true" /> 

: 당신이 연결된 사용자의 보안 컨텍스트를 실행하는 웹 응용 프로그램을 원하는 경우

감사

+0

어떤 종류의 웹 응용 프로그램입니까? WindowsForms? MVC? –

+0

웹 앱을 명확히해야합니다. 이 ASP.NET입니다. VisualStudio에서 로컬로 실행한다고 할 때? VisualStudio에서는 로그온 계정으로 실행합니다. 웹 사이트를 직접 방문하면 앱이 풀에서 실행됩니다. 로그온 사용자가 사용자 저장소로 AD와 양식 인증을 구현할 수있게하려면 Phil의 대답이 효과가 있다고 생각합니다. – Paparazzi

+0

네, ASP.NET과 Im은 VS 2010 내에서 웹 양식을 검색합니다. – DarkW1nter

답변

0

는, 당신은 당신의 web.config 파일의 <system.web> 섹션에 다음을 추가 할 필요가 첫 번째 줄에는 IIS how to authenticate users이 있고 두 번째 줄에는 IIS 응용 프로그램 풀의 보안 컨텍스트가 아니라 security context of the connected user에서 웹 응용 프로그램을 실행하려고한다는 것을 ASP.Net에 알립니다.

identity element을 사용하여 모든 요청을 특정 사용자의 컨텍스트에서 실행하도록 지정할 수도 있습니다.

+0

고마워요, 이거 드리겠습니다. – DarkW1nter

+0

안녕하세요, 위와 같이 고쳐 썼습니다. 지금은 Windows 로그온보다 사용자가 로그온 한 상태에서 "NT AUTHORITY \ IUSR"을 다시 얻습니다. – DarkW1nter

+0

죄송합니다. - IIS 인증을 올바르게 구성하지 않았으므로 지금 정렬되었습니다. – DarkW1nter

관련 문제