Prowadzę wiele badań na temat najlepszego sposobu zabezpieczenia mojej aplikacji MVC 5.Uwierzytelnianie MVC5: atrybut autoryzacji dla każdego kontrolera lub kontrolera podstawowego
Mamy jeden Web.csproj z wieloma kontrolerami WebAPI, a także witryną MVC z dwoma obszarami - jeden dla administratora, a następnie dla strony publicznej.
Po przeczytaniu this article which states that the Base Controller is best way postanowiłem zastosować to podejście.
Jednak osobiście nie jestem w porządku z użyciem kontrolerów bazowych (see this stackoverflow answer dla niektórych z moich argumentów).
Więc, biorąc pod uwagę, że używam MVC 5 (Identyfikacja ASP.Net i OWIN Authentication) - czy ktoś może rzucić nieco światła na plusy i minusy każdego podejścia?
czy ten artykuł nie pokazuje, jak korzystać z filtrów globalnych? Uważam, że sterowniki bazowe były zalecane dla MVC 1 i 2 ... – dima
@dima Tak, masz rację ... Pomyliłem się z następującym cytatem na dole artykułu: "Pozwól, że będę całkowicie jasny na ten temat Jedynym obsługiwanym sposobem zabezpieczenia aplikacji MVC jest posiadanie klasy bazowej z atrybutem [Authorize], a następnie posiadanie każdej podklasy typu kontrolera, która jest podstawowym typem. W inny sposób otworzy się luka w zabezpieczeniach. " Jednak myślę, że powiedziano w kontekście próby zabezpieczenia aplikacji MVC przez ograniczenia trasy ... poważne "nie-nie". – JTech
ma rację, tylko ma na myśli globalne filtry ... Nie rozumiem, dlaczego nie skorzystasz z globalnych filtrów i nie sprawisz, że cała witryna będzie bezpieczna i zezwoli na anonimowy dostęp dla pewnych Akcje takie jak logowanie, rejestracja itp. – dima