ASP.NET Kimlik'In İUserSecurityStampStore<TUser> arayüzü nedir?
ASP.NET Kimlik (ASP.NET yeni üyelik uygulaması), UserStore
kendim uygularken bu arayüz geldi:
//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
varsayılan aslında TUser.SecurityStamp
özelliği ayarlamak EntityFramework.UserStore<TUser>
tarafından yürütülmektedir.
Biraz daha kazma sonra, bir SecurityStamp
yeni UserManager
(örneğin, Şifre değiştirme) kilit noktalarında oluşturulan Guid
görünür.
Gerçekten bu kodu inceliyorum beri bu kadar ötesinde bir anlam çıkaramıyorumReflektör. Neredeyse tüm sembol ve uyumsuz bilgi optimize edilmiştir.
Ayrıca, Google pek yardımcı olmadı.
Soru:
- ASP.NET Kimlik
SecurityStamp
nedir ve ne için kullanılır? SecurityStamp
doğrulama çerez oluşturulduğunda herhangi bir rol oynuyor mu?- Bu birlikte alınması gereken güvenlik sonuçları veya herhangi bir önlem var mı? Örneğin, müşteriler için bu değer aşağı göndermiyorsun?
Güncelleme (9/16/2014)
Kaynak burada mevcut: kod
CEVAP
Bu temelde kullanıcı kimlik bilgileri mevcut ekran görüntüsünü temsil ediyor. Eğer değişen bir şey olmazsa damgası aynı kalacak. Ama kullanıcı parolası değiştirilir, ya da bir oturum açma (bağlantısını google/fb hesabı) kaldırılırsa, damga değişecek. Bu 2.0 ile gelen bir özellik olan otomatik olarak kullanıcıların imzalama/bu durumda eski çerezleri reddetmek gibi şeyler için gereklidir.
Kimliğini açık kaynak henüz, şu anda boru hattı hala gelmedi.
Edit: 2.0.0 için Güncellendi.SecurityStamp
birincil amacı her yerde oturumu etkinleştirmek için. Temel fikir, o zaman bir güvenlik ile ilgili değiştirilen kullanıcı, bir şifre, çok da iyi bir fikir için otomatik olarak geçersiz varolan oturum çerezleri, eğer öyleyse Şifre/Hesap edildiğine tehlikeye saldırgan, artık erişimi vardır.
2.0.0 olarak ne zaman değişti kanca CookieMiddleware
OnValidateIdentity
yöntemi SecurityStamp
bakmak ve çerezleri reddetmek için aşağıdaki yapılandırma ekledik. Ayrıca, eğer damga değişmeden değişen rolleri gibi şeyler dikkat vb alınan) ise otomatik olarak refreshInterval
her veritabanı kullanıcının talepleri yeniler
app.UseCookieAuthentication(new CookieAuthenticationOptions {
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider {
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
});
Eğer uygulama bu davranış açıkça tetik isterse çağırabilirsiniz:
UserManager.UpdateSecurityStampAsync(userId);
&; Bölge" temel kimlik doğrulamas...
Ruby java arayüzü karşılığı nedir?...
Bir sitede SADECE Openıd kimlik doğrul...
Base 64 kodlama amacı nedir ve neden H...
Doğru JSON içerik türü nedir?...