Tôi đang phát triển một ứng dụng web với mã thông báo mang tên Asp.Net 5 MVC, Owin và Oauth2 làm loại xác thực.Lưu trữ danh sách chuỗi trong Xác nhận quyền sở hữu (System.Security.Claims)
Tôi cần lưu trữ danh sách chuỗi "CODEFOO,CODBAR,CODEX,.."
bên trong một System.Security.Claims.Claim với Loại xác nhận quyền sở hữu tùy chỉnh.
Khi người dùng yêu cầu mã thông báo, danh sách "mã người dùng" này nhận được từ phía sau và được đặt bên trong danh tính bằng cách sử dụng loại xác nhận quyền sở hữu tùy chỉnh cụ thể.
Khi người dùng gửi lại mã thông báo, điều hướng một Hành động MVC cụ thể, ứng dụng phải kiểm tra xem danh sách mã người dùng bên trong xác nhận quyền sở hữu có chứa một mã cụ thể hay không.
List<string> userCodes = rep.GetUserCodeFromBackEnd();
string userCodesClaimType = "http://foo.it/claim/usercodesclaimtype";
Hiện tại tôi đang sắp xếp danh sách chuỗi bằng JSON.
var claim = new Claim(userCodesCaimType, JsonConvert.SerializeObject(userCodes));
và làm cho nó trở lại de-serializing nó với một cái gì đó như thế này:
var userCodesClaim = identity.Claims.FirstOrDefault<Claim>(c=>c.Type == userCodesClaimType) ;
var userCodesClaimValue = JsonConvert.DeserializeObject<List<string>>(userCodesClaim.Value);
Bây giờ câu hỏi: là có một cách tốt hơn để lưu trữ một danh sách các giá trị bên trong một tuyên bố?
yêu cầu bồi thường có một tài sản mà tài liệu nói ValueType:
Khách sạn ValueType chứa một chuỗi xác định loại thông tin giá trị. Thuộc tính này có thể được sử dụng để hiểu định dạng của giá trị và cung cấp thông tin về cách sắp xếp theo thứ tự và deserialize giá trị. Nếu giải pháp của bạn yêu cầu giá trị phức tạp loại, bạn nên sử dụng các loại lược đồ XML tiêu chuẩn trong thuộc tính ValueType ValueType để chỉ ra cách giá trị Thuộc tính có nghĩa là được tuần tự hóa và được deserialized từ một chuỗi.
Thật không may tôi đã không tìm thấy bất kỳ ví dụ nào ghi lại việc sử dụng thuộc tính đó.
Việc tuần tự hóa Json có ổn không hoặc tôi có nên sử dụng phương thức ValueType không?
Tại sao bạn không thêm nhiều xác nhận quyền sở hữu? –