Tôi đang sử dụng Owin và Identity và tôi đang gặp sự cố với Xác nhận quyền sở hữu.Sử dụng các loại xác nhận quyền sở hữu hợp lệ trong Owin Identity và Asp.Net MVC
Tôi có các ứng dụng mà người dùng sử dụng email để xác thực và những người khác sử dụng tên người dùng.
Phương thức đăng nhập trong lớp doanh nghiệp có thể chấp nhận Email hoặc Tên người dùng tùy thuộc vào từng trường hợp.
Để "làm xáo trộn" danh tính người dùng, tôi sử dụng GUID, duy nhất cho mỗi người dùng khi hiển thị trang có thông tin người dùng.
tôi cũng sử dụng này bởi vì đôi khi một email hoặc tên người dùng có thể là một vấn đề trong url ...
Khi tôi ký vào một người sử dụng tôi có những tuyên bố sau đây loại:
new Claim(ClaimTypes.Email, user.Email),
new Claim(ClaimTypes.Name, user.FullName),
new Claim(ClaimTypes.GivenName, user.FirstName),
new Claim(ClaimTypes.Surname, user.LastName),
new Claim(ClaimTypes.NameIdentifier, user.UserUniqueIdentifier.ToString())
Vì vậy, cách giải thích của tôi là:
Email is the user's email
Name is the user's full name
GivenName is the user's first name
Surname is the user's last name
NameIdentifier is the user's unique identifier ... It can be the email, the username or in this case I am using an Unique ID.
Điều kỳ lạ là không có Loại xác nhận quyền sở hữu. Nơi sẽ đặt nó?
Về cơ bản có vẻ như có sự cố khi Tên người dùng không được sử dụng làm số nhận dạng tên duy nhất nhưng vẫn cần thiết.
Có vấn đề gì với các loại xác nhận quyền sở hữu logic của tôi?
Và bạn sẽ lưu trữ tên thật của người dùng ở đâu? Ý tôi là, hãy tưởng tượng người dùng có tên là "John Brock Smith" –
Bạn có thể tạo các xác nhận quyền sở hữu của riêng mình. Chúng chỉ là dây. Tạo một chuỗi ký tự gọi là FullName. Xác nhận quyền sở hữu mới (Họ tên, "John Brock Smith"), – cecilphillip