Asp.Net 5 MVC, Owin 및 Oauth2 무기명 토큰을 auth 형식으로 개발하고 있습니다.Claim (System.Security.Claims)에 문자열 목록 저장
맞춤 입력 유형이있는 System.Security.Claims.Claim 안에 "CODEFOO,CODBAR,CODEX,.."
문자열 목록을 저장해야합니다.
사용자가 토큰을 요청하면이 "사용자 코드"목록은 백엔드에서 가져와 특정 사용자 정의 클레임 유형을 사용하여 ID 내부에 설정됩니다.
사용자가 토큰을 보내고 특정 MVC 동작을 탐색 할 때 응용 프로그램은 클레임 내부의 사용자 코드 목록에 특정 코드가 포함되어 있는지 확인해야합니다.
List<string> userCodes = rep.GetUserCodeFromBackEnd();
string userCodesClaimType = "http://foo.it/claim/usercodesclaimtype";
지금은 JSON에서 문자열 목록을 serialize하는 중입니다.
var claim = new Claim(userCodesCaimType, JsonConvert.SerializeObject(userCodes));
과 다시 해제 직렬화 얻을이 같은 뭔가를 : 청구 내부에 값 목록을 저장하는 더 좋은 방법이있다 :
var userCodesClaim = identity.Claims.FirstOrDefault<Claim>(c=>c.Type == userCodesClaimType) ;
var userCodesClaimValue = JsonConvert.DeserializeObject<List<string>>(userCodesClaim.Value);
이제 문제는
?, 치 속성은 값의 유형 정보를 식별하는 캐릭터 라인을 포함
청구는 문서라는 ValueType 속성이 있습니다. 이 속성은 값 형식을 이해하고 을 serialize하고 값을 deserialize하는 방법에 대한 정보를 제공하는 데 사용할 수 있습니다. 솔루션에 복잡한 값인 형식이 필요한 경우 ValueType 속성에서 표준 XML 스키마 형식을 사용하여 Value 속성이 인 문자열에서 직렬화 및 역 직렬화되는 방식을 나타내는 것이 좋습니다.
불행히도 해당 속성의 사용을 문서화 한 예제를 찾지 못했습니다.
Json 직렬화가 정상입니까, 아니면 ValueType 방식을 사용해야합니까?
왜 복수 소유권 주장을 추가하지 않으시겠습니까? –