Jakie są roszczenia w ASP.NET tożsamość

Czy ktoś może wyjaśnić, co oznacza mechanizm roszczeniowy w nowym ASP.NET Rdzeń tożsamości?

Jak widzę, istnieje AspNetUserLogins tabela, która zawiera UserId, LoginProvider i ProviderKey.

Ale nadal nie mogę zrozumieć ani znaleźć żadnych informacji o tym, kiedy dane są dodawane do tabeli AspNetUserClaims i w jakich sytuacjach ta tabela jest używana?

Author: Alex, 2014-02-08

1 answers

Co oznacza mechanizm roszczeń w nowym ASP.NET Rdzeń tożsamości?

Istnieją dwa wspólne podejścia do autoryzacji, które opierają się na roli i roszczeniu.

Bezpieczeństwo Oparte Na Rolach

Użytkownik zostaje przypisany do jednej lub kilku ról, dzięki którym użytkownik otrzymuje prawa dostępu. Ponadto, przypisując użytkownika do roli, Użytkownik natychmiast otrzymuje wszystkie prawa dostępu zdefiniowane dla tej roli.

Zabezpieczenie Roszczeń

Tożsamość oparta na twierdzeniach jest zbiorem roszczeń. Oświadczenie to oświadczenie, które podmiot (użytkownik lub inna aplikacja) składa o sama w sobie jest tylko roszczeniem. Na przykład lista roszczeń może zawierać nazwę Użytkownika, adres e-mail użytkownika, wiek użytkownika, autoryzację użytkownika dla danej akcji. W zabezpieczeniach opartych na rolach użytkownik przedstawia poświadczenia bezpośrednio aplikacji. W oparciu o roszczenia model, użytkownik przedstawia roszczenia, a nie poświadczenia do aplikacji. Aby roszczenie miało praktyczne wartość, musi pochodzić od podmiotu, który trusty aplikacyjne.

Poniższe kroki ilustrują sekwencję tego, co dzieje się w modelu zabezpieczeń opartym na oświadczeniach:

  1. użytkownik żąda akcji. Wniosek powołujący (RP) pyta za symbolikę.
  2. użytkownik przedstawia dane uwierzytelniające organowi wydającemu, któremu ufa aplikacja RP.
  3. organ wydający wydaje podpisany token z roszczeniami, po uwierzytelnieniu użytkownika poświadczenia.
  4. użytkownik przedstawia token aplikacji RP. Aplikacja sprawdza token podpis, wyciąga roszczenia, a na ich podstawie przyjmuje lub zaprzecza Prośba.

Ale nadal nie mogę zrozumieć i znaleźć żadnych informacji, gdy dane dodawanie do AspNetUserClaims i do jakich sytuacji służy ta tabela?

Gdy znajdujesz się w sytuacji, w której zabezpieczenia oparte na rolach nie są używane, a ty zdecydowałeś się użyć zabezpieczeń opartych na roszczeniach Bezpieczeństwo, trzeba by użyć tabeli AspNetUserClaims. Jak korzystać z reklamacji w ASP.NET tożsamość, zobacz poniższy link, aby uzyskać więcej informacji.

Http://kevin-junghans.blogspot.com/2013/12/using-claims-in-aspnet-identity.html

Update

Kiedy muszę korzystać z zabezpieczeń opartych na rolach, a kiedy z claim? Czy mógłbyś napisać kilka przykładów?

Nie ma bardzo jasnej sytuacji, w której używałbyś lub nie używałbyś zabezpieczeń opartych na rolach lub roszczeniach, a nie jak w przypadku, w którym używałbyś A zamiast B.

Ale Kontrola dostępu oparta na roszczeniach pozwala na lepsze oddzielenie reguł autoryzacji od podstawowej logiki biznesowej. Po zmianie zasad autoryzacji podstawowa logika biznesowa pozostaje nienaruszona. Będą sytuacje, w których możesz preferować podejście oparte na roszczeniach.

Czasami roszczenia nie są potrzebne. Jest to ważne zastrzeżenie. Firmy z wieloma wewnętrznymi aplikacjami mogą korzystać ze zintegrowanych Uwierzytelniania systemu Windows, aby osiągnąć wiele korzyści, jakie zapewnia roszczenia. Active Directory świetnie sprawdza się w przechowywaniu tożsamości użytkowników, a ponieważ Kerberos jest częścią systemu Windows, Twoje aplikacje nie muszą zawierać wiele logiki uwierzytelniania. Tak długo, jak każdy aplikacja, którą budujesz, może wykorzystywać zintegrowane uwierzytelnianie Windows, ty być może dotarłeś już do swojej tożsamości utopii. Istnieje jednak wiele powody, dla których możesz potrzebować czegoś innego niż Windows uwierzytelnianie. Możesz mieć aplikacje internetowe, które są używane przez ludzi, którzy nie posiadaj konta w swojej domenie Windows. Inny powodem może być to, że Twoja firma połączyła się z inną firmą i masz problem z uwierzytelnieniem dwóch okien, które nie (i nigdy nie może) mieć relacji zaufania. Być może chcesz udostępnianie tożsamości innej firmie, która ma non-.NET ramy Aplikacje lub musisz udostępniać tożsamości między aplikacjami działa na różnych platformach(na przykład Macintosh). Są to tylko kilka sytuacji w która tożsamość oparta na roszczeniach może być prawem wybór dla Ciebie.

Aby uzyskać więcej informacji, odwiedź stronę http://msdn.microsoft.com/en-us/library/ff359101.aspx

 146
Author: Lin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-30 13:56:26