BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Baza wiedzy











Użycie SimpleMembership w ASP.NET MVC 4 cz. 1

07-09-2014 07:00 | Krzysztof Pruszyński
Cechy takie jak członkostwo (membership) i zarządzanie rolami (role management) są częścią podstawowej infrastruktury ASP.NET począwszy od wersji 2.0. Deweloperzy często używają standardowych dostawców członkostwa oraz zarządzania rolami w swoich aplikacjach. Jednak powszechna obserwacja wykazuje, że używanie tych domyślnych funkcji w zakresie baz danych i sposobu przechowywania informacji o użytkownikach jest sztywne i archaiczne. Na szczęście SimpleMembership zapewnia w tej kwestii pomocną dłoń. Rozszerza on główną funkcjonalność dostawców (providers) w taki sposób, że przykładowo możemy użyć niestandardowej tabeli w bazie danych do przechowywania informacji dotyczących użytkownika. Ten artykuł zawiera instrukcje krok po kroku, jak skonfigurować i używać SimpleMembership w projektach ASP.NET MVC.

Cechy takie jak członkostwo (membership) i zarządzanie rolami (role management) są częścią podstawowej infrastruktury ASP.NET począwszy od wersji 2.0. Deweloperzy często używają standardowych dostawców członkostwa oraz zarządzania rolami w swoich aplikacjach. Jednak powszechna obserwacja wykazuje, że używanie tych domyślnych funkcji w zakresie baz danych i sposobu przechowywania informacji o użytkownikach jest sztywne i archaiczne. Na szczęście SimpleMembership zapewnia w tej kwestii pomocną dłoń. Rozszerza on główną funkcjonalność dostawców (providers) w taki sposób, że przykładowo możemy użyć niestandardowej tabeli w bazie danych do przechowywania informacji dotyczących użytkownika. Ten artykuł zawiera instrukcje krok po kroku, jak skonfigurować i używać SimpleMembership w projektach ASP.NET MVC.

 

Przegląd SimpleMemberShip

Uwierzytelnienie i autoryzacja są powszechnie używanymi i potrzebnymi funkcjami w każdej nowoczesnej aplikacji internetowej. Począwszy od ASP.NET 2.0 wprowadzono zarządzanie rolami oraz funkcje członkostwa za pośrednictwem modelu dostawcy. Chociaż funkcja domyślnego członkostwa wraz z zarządzaniem rolami sprawdzają się dobrze w wielu sytuacjach, tak są one dość sztywne w zakresie schematu bazy danych i sposobu przechowywania informacji. Na przykład, podczas używania domyślnego dostawcy członkostwa, nie mamy zbyt dużej kontroli nad tabelą, w której przechowywane są dane użytkownika. Te ograniczenia stwarzają trudności w sytuacjach, w których informacje o danych użytkownika służących do logowania, muszą być przechowywane w niestandardowej tabeli lub w sytuacjach, w których uwierzytelnianie następuje poprzez osobę trzecią (na przykład uwierzytelnianie oparte na OAuth).

Informacja

OAuth jest otwartym standardem autoryzującym.

Przykład wykorzystania uwierzytelniania opartego o OAuth znajdziesz pod linkiem: http://codeguru.geekclub.pl/baza-wiedzy/mechanizm-oauth-w-mvc-4,3332

 

SimpleMembership, zaimplementowany w WebMatrix, stara się rozwiązać przedstawione problemy, oferując elastyczny model uwierzytelniania użytkowników. Model ten opiera się na funkcji podstawowego członkostwa (core membership) i dostawcy ról z wykorzystaniem ASP.NET, łącząc je w łatwy w obsłudze, elastyczny sposób. Spójrzmy na poniższy rysunek, który pokazuje hierarchię dziedziczenia SimpleMembership (Rys. 1 Hierarchia dziedziczenia SimpleMembershipProvider):

 

Rys. 1 Hierarchia dziedziczenia SimpleMembershipProvider

 

Skompilowana biblioteka WebMatrix.WebData zawiera dwie istotne klasy, a mianowicie SimpleMembershipProvider i SimpleRoleProvider. Klasa SimpleMembershipProvider dziedziczy po klasie ExtendedMembershipProvider, która z kolei dziedziczy po klasie MembershipProvider ulokowanej w przestrzeni nazw System.Web.Security. Klasa SimpleRoleProvider dziedziczy bezpośrednio z klasy RoleProvider od przestrzeni nazw System.Web.Security.

Oczywiście, w celu wykorzystania SimpleMembership musimy się odnieść do skompilowanej biblioteki WebMatrix.WebData w swoim projekcie ASP.NET MVC 4. Jeśli stworzymy nowy projekt ASP.NET MVC, używając szablonu aplikacji internetowej, wtedy szablon projektu użyje domyślnie SimpleMembership i odniesie się do skompilowanej biblioteki WebMatrix.WebData. Właśnie system logowania z tego szablonu jest oparty na SimpleMembership, jednak w dalszej części tego artykułu nie będziemy korzystać z tego rozwiązania z wielu powodów. Po pierwsze, możemy chcieć utworzyć pustą stronę internetową, która domyślnie nie używa SimpleMembership. Po drugie, możemy nie chcieć korzystać z domyślnego systemu logowania (AccountController), dostarczonego przez szablon aplikacji internetowej. W tym ostatnim przypadku ważne jest, abyśmy zrozumieli jak działa SimpleMembership przed użyciem go na własnych stronach.


Podsumowanie

W tej części artykułu dowiedzieliśmy się podstawowych informacji na temat SimpleMembership. W następnej części zobaczymy jak skonfigurować środowisko programistyczne pod naszą prostą aplikację, którą wykorzystamy do zaimplementowania niestandardowego uwierzytelniania. Następną część znajdziecie pod tym linkiem:

Źródło: http://www.codeguru.com/csharp/.net/net_asp/mvc/using-simplemembership-in-asp.net-mvc-4.htm

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.