7

Pracuję z ASP.net MVC od kilku lat. Większość aplikacji, które opracowałem w przeszłości, uzyskałem poprzez link ze starszej aplikacji internetowej. Kiedy użytkownicy przychodzą do jednej z moich aplikacji, moja aplikacja czyta plik cookie z przeglądarki, który wskazuje, że użytkownik został uwierzytelniony przez starszą aplikację.Jak zrobić autoryzację w ASP.net MVC 4 już dziś?

Teraz pracuję nad całkiem nową aplikacją internetową, która musi być w stanie przeprowadzić uwierzytelnianie i autoryzację. Jestem pewien, że mogę sprawić, że coś działa, ale chcę wiedzieć, jakie są dzisiejsze najlepsze praktyki.

Od ASP.net WebForms, znam klasy MembershipProvider i RoleProvider. Mam również trochę znajomości Windows Identity Foundation (WIF).

Jednak, gdy patrzę na domyślną aplikację ASP.net MVC 4, klasa "AccountController" używa czegoś, co nazywa się klasą WebSecurity. Zastanawiam się, czy to ma na celu amortyzacji klasy MembershipProvider i RoleProvider.

Powinna to być konfiguracja podstawowa z uwierzytelnianiem nazwy użytkownika/hasła dostarczanym przez inny serwer i dostępem opartym na rolach do zasobów uprzywilejowanych.

Jakie są najlepsze praktyki wdrażania tych programów w ASP.net MVC 4 już dziś?

+0

Może powinienem dodać że nie jestem odpowiedzialny za konfigurowanie HTTPS, SSL i całej reszty; po prostu upoważniając użytkowników do korzystania z funkcji aplikacji. –

+0

Wszystko jest w tym artykule - http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5 -web-forms-and-asp-net-mvc-4-templates.aspx – EkoostikMartin

Odpowiedz

3

"roszczenie oparte upoważnienie to nowy model zezwolenia wprowadzonego w Windows Communication Foundation. Model ten rozwiązuje kolejne scenariusze niż popularnej roli opartej modelu zabezpieczeń (IIdentity, IPrincipal). Funkcja ta jest przydatna, gdy aplikacja wymaga skomplikowane i drobnoziarnista kontrola nad wyrażaniem decyzji dotyczących kontroli dostępu. "

A Guide to Claims-Based Identity and Access Control

Allternative: SimpleMembership

Od MVC5 APS.NET Tożsamość jest najbardziej zalecany http://www.asp.net/identity

4

Authentication został w strumieniu w ciągu ostatnich kilku lat i stabilizuje się w Visual Studio 2013 na coś, co nazywa się tożsamością ASP.NET, która oferuje podejście oparte na oświadczeniach. Jest jednak nadal w wersji beta i nie został jeszcze wydany.

W MVC4 w VS2010 lub 2012 (.net 4 lub 4.5) domyślne szablony są oparte na WebSecurity klasy WebMatrix Web Site, które z kolei są oparte na SimpleMembershipProvider, który sam jest oparty na MembershipProvider.

Pozwolę sobie powtórzyć. WebSecurity używa programu MembershipProvider, jednak wiele nowszych funkcji może być używanych tylko przez przekazanie dostawcy do obiektu ExtendedMembershipProvider lub za pomocą interfejsu API WebSecurity.

Nadal można używać starego SqlMembershipProvider, który był używany w środowisku ASP.NET lub MVC3 lub dowolnym innym dostawcy udostępnionym przez MS, takim jak Universal Providers.

Kluczem jest to, że wszystkie te elementy (z wyjątkiem tożsamości ASP.NET) są oparte na członkostwie, a wszystkie na pewnym poziomie po prostu podłącza się do interfejsu API członkostwa.

Członkostwo polega jednak na udostępnieniu bazy danych użytkowników i możliwości sprawdzania poprawności danych. Inne niż logowanie, ma niewiele wspólnego z uwierzytelnianiem strony internetowej lub autoryzowaniem strony internetowej.To właśnie tutaj pojawia się FormsAuthentication lub WindowsAuthentication (lub inne), które zapewniają implementacje IIdentity i IPrincipal, które są podstawowymi elementami budującymi, na których zbudowane jest uwierzytelnienie ASP.NET (i MVC).

Podczas korzystania z FormsAuthentication jest to po prostu implementacja IIdentity. A kiedy używasz RoleProvider, jest to po prostu implementacja IPrincipal.

Dostarczają one narzędzi w MVC autoryzacji do korzystania z atrybutów kontrolować dostęp do stron i zapewniają możliwość korzystania z metody User.IsInRole(), aby określić rolę użytkownik jest w.

Powiązane problemy