2012-06-06 4 views
0

MVC 응용 프로그램 및 사용자 지정 논리에서 WIF 및 클레임 기반 보안을 사용하여 인증 후에 적절한 클레임이있는 ClaimsPrincipal을 만듭니다. 역할 및 이름과 같은 몇 가지 표준 클레임을 교장에게 할당하지만 적용 가능한 경우 사용자 지정 클레임도 할당합니다.SessionAuthenticationModule은 쿠키의 모든 클레임을 deserialize하지 않습니다. 때때로

나는 표준화 된 역할 후에 내 사용자 지정 클레임을 모델링 이름 예를 들어, URI를 사용하여 주장

새로운 주장 ("http://schemas.acme.com/2012/04/identity/claims/create" , "http://schemas.acme.com/2012/04/identity/resources/customer")

모든 것이 잘 작동하고 있습니다. SessionAuthenticationModule을 사용하여 사용자 세션을 쿠키에 저장하고 각 요청에 대해 재수 화합니다.

오늘 동일한 사용자 유형으로 로그인 한 후 사용자 정의 클레임이 쿠키에서 비 직렬화되지 않은 것으로 나타났습니다. 표준 클레임 (이름/역할)은 있지만 사용자 지정 클레임은 없습니다.

다른 사람이 본 적이 없거나 이런 일이 발생하는 이유를 알고 있습니까?

답변

0

밝혀졌습니다. 참조로 사라지는 주장을 추가하고있었습니다. 필자는 필요에 따라 ClaimsPrincipal에 추가 할 정적 정의 클래임을 미리 정의했습니다. 이 방법으로 추가 한 모든 클레임은 나중에 해당 유형의 다른 사용자가 로그인 할 때 제거되었습니다. 내 솔루션은 정적 속성을 KeyValuePairs로 변경하고 각 사용자에 대해 새 클레임을 작성하는 것이 었습니다.