/ / Czego używać do niestandardowej kontroli konta w ASP.NET MVC - asp.net-mvc, uwierzytelnianie, członkostwo asp.net

Czego używać do niestandardowej kontroli konta w ASP.NET MVC - asp.net-mvc, uwierzytelnianie, członkostwo asp.net

Tworzę niestandardową usługę uwierzytelniania (potrzebuję więcej niż pozwala na to domyślna wartość). Nie mogę zdecydować, czy mam rozszerzyć usługę Członkostwo Użytkownik i wdrożyć odpowiednie interfejsy lub całkowicie rozwinąć własne. Czy jest jakaś korzyść z wyrzucenia własnych lub jakieś pułapki, o których powinienem wiedzieć, rozszerzając domyślny mechanizm?

Odpowiedzi:

2 dla odpowiedzi № 1

Jak daleko jesteś od wartości domyślnych?

Jeśli twoje potrzeby są dalekie od tego, co MembershipProvider daje ci, proponuję iść z własnym. Osobiście nie spotkałem aplikacji, która łączyła się z istniejącym magazynem danych. Dodalibyśmy do niej kolejną aplikację. Stąd też MembershipProvider znacznie ponad zaprojektowane. Uwierzytelnianie / autoryzacja zwykle również nie zajmuje zbyt wiele czasu, a Ty je kontrolujesz całkowicie. Jeśli zajmuje to dużo czasu, prawdopodobnie jest to dalekie od tego MembershipProvider daje Ci.

Ale jeśli twoje wymagania są bliskie MembershipProvider, powinieneś to rozważyć. Albo tak, jak jest, albo zacznij z niego czerpać samodzielnie. Ale strzeż się. Może to zająć więcej czasu niż dostarczenie własnego, ponieważ będziesz musiał nauczyć się tego na wskroś.

Wymagania dotyczące zarządzania bezpieczeństwem

Jeśli korzystasz z MembershipProvider (lub własnegodziedziczona klasa) zyskujesz także integrację z IIS, dzięki czemu łatwo jest zarządzać ustawieniami bezpieczeństwa aplikacji. Jeśli stworzysz własne, będziesz musiał również zapewnić interfejs do tego, co może zająć sporo czasu.


0 dla odpowiedzi nr 2

Zaimplementuj klasę abstrakcyjną MembershipProvider. Mam implementację z XML jako magazyn danych tutaj, jeśli jej potrzebujesz.

http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.aspx?queryresult=true


0 dla odpowiedzi № 3

Pisanie własnego dostawcy zawsze jest dobrą zabawą, ale zależy to od potrzeb bezpieczeństwa tworzonej aplikacji.

W większości przypadków musiałem wdrożyć własnego dostawcę.

  • Używanie orm, takiego jak nhibernate.
  • Żadna baza danych nie jest tak wymagana, aby używać płaskich plików xml.
  • Musiałem zbudować system, który wymagałby szerszego systemu uprawnień do ról niż zapewniane przez klasy członkostwa.

Dobrze, że możesz przełączać się między różnymi dostawcami, jeśli potrzebujesz.