클레임 사용자가 SharePoint 2010에서 검색 가장을 수행해야합니다. 이러한 맥락에서 나는 이것을 Windows 계정으로 어떻게 작동시키는 지 먼저 밝히고 Claims/WIF에 대해 논의하고자합니다.클레임을 AD 계정에 매핑하지 않고 WIF/클레임 가장을 수행하려면 어떻게해야합니까?
윈도우 계정
내가 사용하는 "고전적인"Windows 통합 인증 된 사용자를 위해이 작업을 수행 할 수 있습니다:
WindowsImpersonationContext wic = null;
try
{
WindowsIdentity impersonatedUser = new WindowsIdentity("[email protected]");
wic = impersonatedUser.Impersonate();
// do impersonated work here...
// in my case this is a SharePoint KeywordQuery
}
finally
{
if (wic != null)
{
wic.Undo();
}
}
위가 가장 된 계정을 작동하도록하는 현재와 같은 도메인에 있어야 사용자와 나는 응용 프로그램 풀 소유자가 다음과 같아야합니다.
-
"도메인 기능 수준"이 Windows 2003 이상인 도메인의 도메인 계정누구든지 알아낼 수 있다면 방법 : 8,853,210
- 는
- 는
(주 로컬 상자에서 권한 "인증 후 클라이언트로 가장"한 지역의 상자 "운영 체제의 일부로 활동"권한을 가진 현재 계정이 나는 모든 귀를 나는 가장 된 계정과 동일한 도메인에 있어야 문제를 해결하기.)
주장 계정
내가 주장/WIF 계정과 동일한 기능을 수행하고 싶습니다. 이 계정들은 이 아니며은 반드시 AD 계정과 관련이 있습니다 (나는 그렇지 않다고 가정해야합니다).
STS에 특정 계정을 가장하고 해당 계정에 적절한 토큰을 제공하고 싶다고 말하는 방법이 있습니까? 내가 가장하고있는 사용자의 비밀번호가 없습니다.
인용문 SharePoint Brew WCF 호출을 통해 쿼리 프로세서를 호출하는 SharePoint 웹 프런트 엔드 (WFE)에서 실행되는 코드와 관련이 있습니다. WCF 호출이 가장 된 사용자의 컨텍스트에 있어야합니다.
WFE (Server1) 검색 웹 파트는 서비스 응용 프로그램 프록시와 통신합니다. 연결된 검색 서비스 응용 프로그램 프록시는 로컬 STS를 호출하여 사용자에 대한 SAML 토큰을 가져옵니다. SAML 토큰이 수집되면 검색 서비스 응용 프로그램 프록시는 WCF 호출을 통해 쿼리 프로세서를 실행하는 서버를 호출합니다. 나는이 서버를 "서버 2"라고 부를 것이다. 서버 2는 들어오는 요청을 수신하고 로컬 STS에 대해 SAML 토큰의 유효성을 검사합니다. 일단 확인되면 서버 2는 다양한 구성 요소에 연결하여 검색 결과를 수집, 병합 및 보안 조정합니다. 서버 2는 트리밍 된 검색 결과를 다시 서버 1로 전송 한 다음 사용자에게 표시합니다.
조금 더 많은 연구가 나를 ActAs과 OnBehalfOf으로 향하게하고 있습니다. 내가 OnBehalfOf를 사용하고 싶다고 생각하지만, 아직 작동하지 않을 것이라고 확신하지는 않습니다. 내가 찾은 참고 문헌은 다음과 같습니다. 모든 지침을 부탁드립니다..NET Framework Developer Center - Act As vs. On BehalfOf
- 은 내가 이해에서
키워드 검색을 수행하는 데 사용하는 코드에 대한 제안 사항이 있습니까? 나는 약간의 도움으로 할 수 있었다 :) –