Google 분석가를위한 인트라넷 MVC 4 애플리케이션을 작성하는 중입니다. 목표는 내부 사용자가 내부 네트워크의 일부인 경우 사인온하지 않고도이 응용 프로그램에 대한 액세스를 허용하는 것입니다. 그들은 응용 프로그램에 액세스 할 때 자신의 Windows 사용자 이름을 캡처하고 LDAP를 사용하여 활성 디렉토리에 대해 확인하고 그들이 속한 부서를 검색하고 화면에 관련 세부 정보를 표시 할 수 있기를 원합니다. 다른 포럼의 조언에 따라이 응용 프로그램에 대해 Windows 인증을 선택했으며 Visual Studio에서 성공적으로 실행중인 응용 프로그램을 테스트 할 수있었습니다. 내가 IIS 7.5를 실행하는 UAT 서버에 배포 할 때의 문제가 있습니다.ASP.NET 4의 신원 도용 MVC가 예상대로 작동하지 않습니다.
<authentication mode="Windows">
</authentication>
<identity impersonate="false" />
이것은 내 Web.config 파일의 현재 상태입니다. 가장이 true 또는 false인지 여부에 관계없이 응용 프로그램은 응용 프로그램에 액세스하는 브라우저의 Windows 사용자 이름을 캡처하지 않는 것 같습니다.
은이 모든 필요한가장 할 = 사실인가요? 홈 페이지의 환영 메시지에서 항상 응용 프로그램이 호스팅되는 컴퓨터의 Windows 사용자 이름/IIS가 실행되고 있습니다. 들어오는 사용자 요청의 Windows 사용자 이름을 캡처하는 다양한 방법을 시도했습니다.
string name = System.Web.HttpContext.Current.User.Identity.Name; string name = System.Web.HttpContext.Current.Request.LogonUserIdentity.Name; string name = System.Security.Principal.WindowsIdentity.GetCurrent().Name; string name = System.Web.HttpContext.Current.Request.ServerVariables["LOGON_USER"].Name;
등 내가 여기에 다른 게시물은 this처럼 보입니다. 그러나 나는 그것을 작동시킬 수 없다. 나는 실제로 무슨 일이 일어나고 있는지 이해하기보다는 우연히이를 성취하려고 노력하는 것이 두렵다. 누군가 나를 올바른 방향으로 인도 해 주실 수 있습니까?