이 질문이 너무 많이 제기 된 것을 알고 있지만 제 문제는 다릅니다. Windows 인증 및 가장이 설정된 웹 앱을 개발 중입니다. 컴퓨터에로 로그인했습니다 domain\user
. 이 응용 프로그램에서 저는 newDir
네트워크 컴퓨터 디렉토리 안에 라는 디렉토리를 만들고 \\computerName\myFolder
있습니다. 이 디렉토리에 대한 모든 권한이 있습니다. 내가 명시 적으로 사용자 이름과 암호를 입력 할 때 <identity impersonate="true" userName="domain\user" password="pass">
의 web.config
파일이 사용자 이름과 암호를 묻는 메시지가 표시되지 않습니다 응용 프로그램을 실행 예상대로 대신 지정된 디렉토리에 디렉토리를 생성합니다. 그러나 내가 identity
떠나는 요소 에서 사용자 이름과 비밀번호를 제거하면impersonation
응용 프로그램을 켜고 실행하면 사용자 이름과 암호를 묻는 메시지가 표시되지만 파일 의 identity
요소에서 제거한 동일한 사용자 이름과 암호를 허용하지 않으며 web.config
때로는 사용자 이름과 암호를 묻는 메시지가 표시되지 않고 예외 페이지 만 표시됩니다 access to the path "\\computerName\myFolder\newDir" is denied
.
테스트를 위해 코드가 실행되는 사용자 이름을 확인하는 줄을 추가했습니다.
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name + "<br/>");
동일한 domain\user
사용자 이름을 인쇄합니다 .
여기에서 무슨 일이 일어나고 있는지 아는 사람이 있습니까?
가장을 사용하여 UNC 경로에 액세스하는 것처럼 들리지만 로컬 경로는 특별한 경우입니다. https://msdn.microsoft.com/en-us/library/aa292118%28v=vs.71%29.aspx 에 따르면 "응용 프로그램이 UNC 공유에있는 경우 ASP.NET은 항상 IIS UNC 토큰을 가장하여 구성된 계정을 사용하지 않는 한 해당 공유에 액세스합니다. 명시 적으로 구성된 계정을 제공하면 ASP.NET은 IIS UNC 토큰보다 우선적으로 해당 계정을 사용합니다. "
이 대답 UNC 액세스 는 asp.net 가장을 사용하는 동안 몇 가지 포인터가 있습니다.
UNC 사용자에 액세스하는 데 한 명의 사용자 (web.config에 구성된 사용자, 앱 풀 ID 또는 위임을 위해 선택한 사용자)로 제한 될 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다