두 컴퓨터 간에는 서로 다른 도메인에 있으므로 신뢰가 없습니다.LOGON32_LOGON_NEW_CREDENTIALS를 사용하는 LogonUser는 신뢰할 수없는 원격 도메인 컴퓨터에 대해 작동합니다.
로그온 유형을 사용하여 LogonUser API를 사용하여 원격 컴퓨터에 성공적으로 연결했습니다. LOGON32_LOGON_NEW_CREDENTIALS. UNC 공유를 사용하여 디렉터리의 내용을 검색하고 파일을 다운로드하여 파일을 다운로드 할 수 있습니다. 여태까지는 그런대로 잘됐다.
유일한 문제는 이미 열린 세션이 아니면 LogonUser가 실패하는 것입니다. 그 점을 분명히하자.
ASP.NET MVC 페이지가 오늘 아침에 작동하지 않는 것을 발견했습니다. 특히 LogonUser를 사용하여이 원격 시스템에서 파일 목록을 검색하는 페이지가 있습니다. 로그를보고 stacktrace에서 볼 수 있습니다. System.IO .__ Error.WinIOError 위 Directory.GetFiles 호출합니다. 그런 다음 웹 서버에 원격으로 연결하고 웹 사이트에서 사용하는 것과 동일한 로그인/암호를 사용하여 탐색기에서 원격 폴더를 열려고했습니다. 그것은 통과했고 파일을 볼 수있었습니다. 명령 프롬프트를 열고 net use을 입력하면 원격 컴퓨터에 열린 연결이 있음을 알 수 있습니다. 그런 다음 페이지로 돌아가 갑자기 페이지가 다시 작동합니다.
따라서 LogonUser가 예상대로 작동하는지 확실하지 않습니다. 전화가 다른 방법으로 네트워크 연결을 먼저 열어야하는 경우 확실히 만족스럽지 않습니다.
누군가 무슨 일이 일어나고 있는지 알고 있거나 해결 방법을 제안하고 있습니까?
LogonUser 호출 후에도 ImpersonateLoggedOnUser를 사용하고 있습니까? –
... 가능한 설명은 [1] [여기]를 참조 [1] : http://stackoverflow.com/a/7614904/95966 –