2011-03-28 17 views
18

Jakie są typowe metody przeprowadzania prostego sprawdzania poprawności użytkownika (logowanie do konta)?Uwierzytelnianie użytkowników ASP.NET MVC 3

Czy możesz mieć różne schematy uwierzytelniania dla obszaru?

Edit

tworzę witryny e-commerce, który będzie musiał chronione działań na użytkownika. Jak więc można to zrobić? Musi być w stanie zezwolić tylko uwierzytelnionym użytkownikom na dostęp do ich informacji.

+0

Dlaczego wynalezienie koła wtedy? zacznij od dobrej platformy bazowej dla witryny e-commerce, jeśli jesteś w .NET, zacznij od http://www.nopcommerce.com/ to rozwiązanie ASP.NET 4.0. – balexandre

Odpowiedz

29

Masz kilka opcji, jeśli chodzi o sposób uwierzytelniania w MVC:

Wbudowane narzędzie do uwierzytelniania formularzy umożliwia ograniczenie dostępu do różnych obszarów aplikacji na podstawie roli, użytkownika i innych elementów, a wdrożenie atrybutu [Authorize] jest dość łatwe.

Poniższa wymagałoby użytkownikowi być zalogowany:

[Authorize] 
public ActionResult YourActionNameGoesHere() 
{ 
} 

Podobnie wymagałoby użytkownik jest zalogowany I być administratorem następujące:

[Authorize(Roles="Administrator")] 
public ActionResult YourActionNameGoesHere() 
{ 
} 

Były tylko kilka metod, aby to osiągnąć, jak widać, są różne metody osiągnięcia tego - mam nadzieję, że mi Ght rzuciłeś trochę światła, pomagając ci zdecydować.

+0

Levi, ekspert ds. Bezpieczeństwa w zespole MVC, stwierdza, że ​​istnieje tylko jeden bezpieczny sposób przeprowadzania uwierzytelniania. Zobacz moją odpowiedź. –

3

przejdź do folderu modelu podczas tworzenia aplikacji internetowej z VS 2010. Zobaczysz tam plik CS. ten plik zawiera przykładową strukturę uwierzytelniania użytkownika. Pamiętaj, że: ASP.NET MVC nie jest oddzielną strukturą. znajduje się na ASP.NET, więc możesz także użyć klasy System.Web.Security.Membership na MVC.

Sprawdź także folder Konto w folderze widoku. zobaczysz tam niektóre próbki.

mam nadzieję, że to pomoże.

+2

Podczas tworzenia pustej aplikacji internetowej z MVC3 te foldery i klasy nie są uwzględniane, więc może to być trochę mylące ... –

+0

@Yngve zauważyłeś, że wskazałem jako "kiedy tworzysz aplikację internetową", aby to wyczyścić się ... chyba nie ma zamieszania. – tugberk

+0

@CoffeeAddict Nie ssać dla mnie. – tugberk

8

Według ekspertów bezpieczeństwa w zespole MVC

Jedyną obsługiwaną sposobem zabezpieczania aplikacji MVC jest mieć klasę bazową z [Autoryzacja] atrybutu, a następnie mieć każdy rodzaj kontrolera podklasa tego typu podstawowego. W każdy inny sposób otworzy się otwór zabezpieczający .

http://blogs.msdn.com/b/rickandy/archive/2011/05/02/securing-your-asp-net-mvc-3-application.aspx

+1

Cytat dotyczący podklasy dotyczy w każdym razie tylko wersji MVC 1 i 2. MVC3 + może korzystać z GlobalActionFilter. – DarrellNorton

Powiązane problemy