Korzystanie Z Autoryzacji Opartej Na Roszczeniach

Nowy ASP.NET 4.5 kod "przywrócił" ASP.NET RoleProvider do ClaimsProvider.

Próbuję się dowiedzieć, jak wyglądałby przykład autoryzacji oparty na twierdzeniach (najlepiej w MVC4)? W jaki sposób mój atrybut Authorize współdziała lub nie z tą funkcją? API WebSecurity i Roles nie uległo zmianie; nie ma podpisu "Doeserhaveclaim ()". Podobnie, nie jest jasne, w jaki sposób atrybut Authorize współdziała z twierdzeniami.

Czy to funkcja "autoryzacja roszczeń" przeznaczona głównie dla OAuth? Jeśli tak, w jaki sposób roszczenia są przekazywane do mojego wniosku? Ciasteczko? Czy ta funkcjonalność dostawcy roszczeń była przeznaczona do szerszego zastosowania?

W skrócie, co to jest historia za korzystanie z ClaimsPrincipal?

Najbliższą rzeczą jaką widziałem do czegoś, co ma sens, jest ta dyskusja. Ale podejrzewam, że jest to datowane - powinno być porównane z tym, co tworzy szablon MVC4 internet project. I nawet wtedy, to nadal nie sugerował, jak używać atrybutu Authorize z konfiguracją.

UPDATE

Znalazłem odpowiedzi na moje pytania z tych źródeł:

  1. [10]} sekcja uwagi ClaimsPrincipal wyjaśnia, że WebSecurity, role i API AuthorizeAttribute w rzeczywistości sprowadzają się do sprawdzania roszczeń w razie potrzeby.
  2. przykład MVC4 oparty na twierdzeniach znajduje się tutaj (wraz z innymi).
  3. podstawowa historia SAMLA jest pokazana tutaj .
Author: Community, 2012-11-19

1 answers

Zabezpieczenia oparte na oświadczeniach pomagają oddzielić model zabezpieczeń od domeny aplikacji. Roszczenie może dotyczyć wszystkiego, co chcesz dołączyć do tożsamości użytkownika, na przykład adresu e-mail, numeru telefonu lub flagi wskazującej, czy użytkownik jest super użytkownikiem. Daje to maksymalną elastyczność w zakresie konfiguracji procesu autoryzacji. Historycznie w ASP.NET aplikacja musisz określić, na jakie role chcesz zezwolić i zastosować je podczas programowania aplikacji. Wtedy ty sprawdź, czy użytkownik jest w roli do ich autoryzacji. To łączy twój model zabezpieczeń z Twoją aplikacją. W przypadku claims-based masz znacznie większą elastyczność i bardziej typowe jest konfigurowanie schematu autoryzacji, który pobiera zasoby (np. zamówienia w systemie zarządzania zamówieniami) i operację (np. Odczyt, Zapis, wykonanie) jako parametry wejściowe do procesu autoryzacji, skutecznie oddzielając zabezpieczenia od aplikacji. Zobacz ClaimsPrincipalPermissionAttribute dla przykładu tego technika.

Claims-based security jest wymagane z OAuth, ale działa dobrze z innymi schematami autoryzacji, jak również. Oświadczenia niestandardowe, których używasz w swojej aplikacji, są dostępne z ClaimsPrincipal.Current . Istnieją również techniki przechowywania tych informacji w plikach cookie, chociaż ASP.NET rurociąg bezpieczeństwa domyślnie tego nie robi.

Dyskusja, do której się odwołujesz, dotyczy Windows Identity Foundation (WIF), która jest teraz częścią. NET w 4.5 i dlatego tożsamość oparta na roszczeniach jest obywatelem pierwszej klasy. Wszystkie główne typy dziedziczą z Roszczeniaprzestępczość. Aby uzyskać dobry przegląd zabezpieczeń opartych na szkodach, zapoznaj się z tym bezpłatnym ebookiem "A Guide to Claims-Based Identity and Access Control (2nd Edition)". Prawdziwym ekspertem w tej dziedzinie jest Dominick Baier i jego blog {[2] } jest pełen przydatnych informacji na ten temat. Ma również świetne szkolenie online na temat Pluralsight o nazwie " Identity & Access Control in ASP.NET 4.5".

 31
Author: Kevin Junghans,
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-09-08 10:20:23