방법: 사용자 지정 클레임 만들기
WCF(Windows Communication Foundation)의 ID 모델 인프라에서는 기본 제공 클레임 형식 및 권한 집합에 해당 형식과 권한으로 Claim 인스턴스를 만드는 도우미 기능을 제공합니다. 이러한 기본 제공 클레임은 WCF에서 기본적으로 지원하는 클라이언트 자격 증명 형식에 있는 정보를 모델링합니다. 일반적으로 기본 제공 클레임으로 충분하지만 일부 응용 프로그램에는 사용자 지정 클레임이 필요할 수 있습니다. 클레임은 클레임 형식, 클레임이 적용되는 리소스 및 해당 리소스에 대해 어설션되는 권한으로 구성됩니다. 이 항목에서는 사용자 지정 클레임을 만드는 방법에 대해 설명합니다.
기본 데이터 형식을 기반으로 사용자 지정 클레임을 만들려면
클레임 형식, 리소스 값 및 권한을 Claim 생성자에 전달하여 사용자 지정 클레임을 만듭니다.
- 클레임 형식의 고유 값을 결정합니다.
클레임 형식은 고유한 문자열 식별자입니다. 클레임 형식에 사용되는 문자열 식별자를 고유하게 설정하는 작업은 사용자 지정 클레임 디자이너가 담당합니다. WCF에서 정의되는 클레임 형식 목록은 ClaimTypes 클래스를 참조하십시오. - 기본 데이터 형식과 리소스 값을 선택합니다.
리소스는 개체입니다. 리소스의 CLR 형식은 기본(예: String 또는 Int32)이나 serialize할 수 있는 모든 형식일 수 있습니다. WCF가 다양한 지점에서 클레임을 serialize하므로 리소스의 CLR 형식을 serialize할 수 있어야 합니다. 기본 형식은 serialize할 수 있습니다. - WCF에서 정의된 권한이나 사용자 지정 권한의 고유 값을 선택합니다.
권한은 고유한 문자열 식별자입니다. WCF에서 정의된 권한은 Rights 클래스에서 정의됩니다.
권한에 사용되는 문자열 식별자를 고유하게 설정하는 작업은 사용자 지정 클레임 디자이너가 담당합니다.
다음 코드 예제에서는 PossessProperty 권한을 사용하여Driver's License
라는 리소스에 대해 클레임 형식이http://example.org/claims/simplecustomclaim
인 사용자 지정 클레임을 만듭니다.
- 클레임 형식의 고유 값을 결정합니다.
기본이 아닌 데이터 형식을 기반으로 사용자 지정 클레임을 만들려면
클레임 형식, 리소스 값 및 권한을 Claim 생성자에 전달하여 사용자 지정 클레임을 만듭니다.
- 클레임 형식의 고유 값을 결정합니다.
클레임 형식은 고유한 문자열 식별자입니다. 클레임 형식에 사용되는 문자열 식별자를 고유하게 설정하는 작업은 사용자 지정 클레임 디자이너가 담당합니다. WCF에서 정의되는 클레임 형식 목록은 ClaimTypes 클래스를 참조하십시오. - serialize할 수 있는 기본이 아닌 리소스 형식을 선택하거나 정의합니다.
리소스는 개체입니다. WCF가 다양한 지점에서 클레임을 serialize하므로 리소스의 CLR 형식을 serialize할 수 있어야 합니다. 기본 형식은 이미 serialize할 수 있습니다.
새 형식을 정의하는 경우 DataContractAttribute를 클래스에 적용합니다. 또한 클레임의 일부로 serialize할 수 있어야 하는 새 형식의 모든 멤버에 DataMemberAttribute 특성을 적용합니다.
다음 코드 예제에서는MyResourceType
이라는 사용자 지정 리소스 형식을 정의합니다. - WCF에서 정의된 권한이나 사용자 지정 권한의 고유 값을 선택합니다.
권한은 고유한 문자열 식별자입니다. WCF에서 정의된 권한은 Rights 클래스에서 정의됩니다.
권한에 사용되는 문자열 식별자를 고유하게 설정하는 작업은 사용자 지정 클레임 디자이너가 담당합니다.
다음 코드 예제에서는 PossessProperty 권한을 사용하여 클레임 형식이http://example.org/claims/complexcustomclaim
이고 사용자 지정 리소스 형식이MyResourceType
인 사용자 지정 클레임을 만듭니다.
- 클레임 형식의 고유 값을 결정합니다.
예제
다음 코드 예제에서는 기본 리소스 형식의 사용자 지정 클레임과 기본이 아닌 리소스 형식의 사용자 지정 클레임을 만드는 방법을 보여 줍니다.
참고 항목
참조
Claim
Rights
ClaimTypes
DataContractAttribute
DataMemberAttribute