aspNetCompatibility = "true"인 wcf + 나머지 웹 서비스가 있습니다. 사용자 지정 인증을 제공하기 위해 asp.net http 모듈 인 IHttpModule을 작성했습니다. 코드는 매우 간단합니다. Thread.CurrentPrinicpal 속성에 일부 보안 주체를 할당하면됩니다.WCF는 Thread.CurrentPrincipal을 통해 IHttpModule을 설정합니다.
나는 Thread.CurrentPrincipal의 값으로 'empty/default'principal을 여전히 얻는다. 또한 모듈 및 작업 실행에 다른 스레드 ID (Thread.CurrentThread)가 있음을 발견했습니다. wcf가 작업을 실행하는 새로운 스레드를 제공하지만 어떠한 증거도 찾지 못했다는 제안이 있습니다.
그래서 질문 : 나는 맞습니까? wcf가 그 동작을 제어 할 수 있습니까? 새 스레드를 만들면 자동으로 주 스레드를 새 스레드로 이동하기 때문에 혼란 스럽습니다. 그러므로 wcf는 그들을 깨끗이합니다.
principalPermissionMode = "None"과 같은 문제입니다.
아이디어를 제공해 주시면 감사하겠습니다.
건배!
첫 번째 문장에서 옳습니다. 사실 IAuthorizationPolicy에 의해 wcf로 해결되었습니다. 그러나 내가 썼을 때, 왜 이런 방식으로 작동하는지 명확히 이해하고 싶습니다. 그런 행동을 제어 할 수있는 설정이 있습니까? – SchmerZ