Nhìn vào ASP.NET Identity (triển khai thành viên mới trong ASP.NET), tôi đã bắt gặp giao diện này khi thực hiện giao diện của riêng tôi UserStore
:
//Microsoft.AspNet.Identity.Core.dll
namespace Microsoft.AspNet.Identity
{
public interface IUserSecurityStampStore<TUser> :
{
// Methods
Task<string> GetSecurityStampAsync(TUser user);
Task SetSecurityStampAsync(TUser user, string stamp);
}
}
IUserSecurityStampStore
được thực hiện theo mặc định EntityFramework.UserStore<TUser>
mà về cơ bản là lấy và đặt thuộc TUser.SecurityStamp
tính.
Sau khi đào thêm, có vẻ như SecurityStamp
một Guid
cái mới được tạo tại các điểm chính trong UserManager
(ví dụ: thay đổi mật khẩu).
Tôi thực sự không thể giải mã được nhiều hơn thế vì tôi đang kiểm tra mã này trong Reflector . Hầu như tất cả các thông tin biểu tượng và không đồng bộ đã được tối ưu hóa.
Ngoài ra, Google đã không được giúp đỡ nhiều.
Câu hỏi là:
- Một
SecurityStamp
trong Nhận dạng ASP.NET là gì và nó được sử dụng để làm gì? - Có
SecurityStamp
đóng vai trò nào khi cookie xác thực được tạo không? - Có bất kỳ phân nhánh bảo mật hoặc biện pháp phòng ngừa nào cần được thực hiện với điều này? Ví dụ: không gửi giá trị này xuống cho khách hàng?
Cập nhật (ngày 16/9/2014)
Mã nguồn có sẵn ở đây: