Freigeben über


SharePoint 2010에서 ID 클레임에 대해 실제 원본 발급자를 가져오는 방법

최초 문서 게시일: 2011년 3월 31일 목요일

저는 지난 몇 년간 여러 가지 방식으로 이 작업을 수행해 왔는데, 최종적으로는 "간단한" 방법을 사용해야 한다는 결론을 내렸습니다. 작업 자체는 단순합니다. 즉, 클레임 확대 등의 경우에 사용자 지정 클레임 공급자를 호출할 때 사용자 유형(Windows 클레임, FBA 클레임, SAML 클레임)을 확인하는 것입니다. 제가 이전에 사용해 왔던 여러 가지 방법을 사용하는 대신 간단한 방법을 사용할 수 있습니다. 다음은 이 방법을 요약하여 보여 주는 짧은 코드 청크입니다.

 

//get the claim provider manager

SPClaimProviderManager cpm = SPClaimProviderManager.Local;

//get the current user so we can get to the "real" original issuer

SPClaim curUser = SPClaimProviderManager.DecodeUserIdentifierClaim(entity);

//get the original issuer for the user

SPOriginalIssuerType loginType = SPOriginalIssuers.GetIssuerType(curUser.OriginalIssuer);

                                 

if (loginType == SPOriginalIssuerType.Windows)

{

//do windows

}

else if ((loginType == SPOriginalIssuerType.TrustedProvider) ||

(loginType == SPOriginalIssuerType.ClaimProvider))

{

//do SAML

}

 

코드 자체가 매우 단순하므로 추가 설명은 필요하지 않을 것 같습니다. 여기서 DecodeUserIdentifierClaim 메서드에 사용된 "entity" 매개 변수는 사용자 정의 클레임 공급자에 있는 FillClaimsForEntity(클레임 확대) 재정의의 일부분으로 전달되었습니다. 여기에 나와 있는 메서드는 사용자 지정 클레임 공급자의 어느 위치에서나 정상적으로 작동합니다.

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 How to Get the Real Original Issuer for an Identity Claim in SharePoint 2010을 참조하십시오.