'IPrincipal' bir .Net framework's interface olup:
public interface IPrincipal {
// Retrieve the identity object
IIdentity Identity { get; }
// Perform a check for a specific role
bool IsInRole (string role);
}
Bu arayüz kullanıcı oturum temel işlevlerini tanımlar. Bu arabirimi uygulayan nesne, kodunuzun çalıştığı güvenlik bağlamını temsil eder. Sen .NET IPrincipal
farklı tatlar elde edebilirsiniz: ClaimsPrincipal
, WindowsPrincipal
ve diğerleri - tüm kullandığınız framework bağlıdır. Asp.Net Identity framework ile çalışıyorsanız, ClaimsPrincipal
ile ilgileniyor olacaksınız. Genellikle bu arayüzü uygulama gereği duymazsınız.
IIdentity
, kullanıcının izinlerini temsil eder. Asp.Net Kimlik çerçevesi için ClaimsIdentity ile ilgileniyor olacaksınız. Yine bu, uygulamanız gerekmeyen bir şey.
Here is more documentationIPrincipal
ve IIDentity
hakkında.
IUser
, Asp.Net Identity framework'ün bir parçasıdır. Eğer Kimlik varlık Framework bölümünü kullanıyorsanız, you'll be provided withIdentityUser
sınıfı miras ve yayılabilir. Bu sizin uygulamak için bir model.
Temel olarak IdentityUser
bir veritabanında saklanan bir POCO'dur. kullanıcı giriş yaptığında Ve IdentityUser
gelen bilgiler çerçevesi tarafından ClaimsPrincipal
ve ClaimsIdentity
dönüştürülecektir. Ve HttpContext.Current.User
'a eriştiğinizde size ClaimsPrincipal
verilir.
Umut bu sizin için bir şeyler temizler.
'IIdentity', kullanıcının ilk bilgilerine karşı, 'IPrincipal' kullanıcının rol bilgisine karşı (RBAC), 'IKullanıcı' özür dilerim? Hakkında hiçbir fikrim yok –
'IUser', AspNet.Identity'nin bir parçasıdır. 'UserManager' veya' SignInManager' gibi Identity nesnelerle çalışmayı umuyorsanız buna ihtiyacınız var. – Shoe