Chciałbym wdrożyć autoryzację opartą na rolach w mojej aplikacji internetowej, którą buduję. Sposób, w jaki sobie wyobrażałem, aby ten jest stworzenie 3 tabel w moim DB jak następuje:Wdrażanie autoryzacji opartej na rolach przy użyciu .NET MVC 5
1. Roles
2. UserRoles (many to many table)
3. Users
Po że każdy użytkownik będzie miał rolę przypisaną do niego. Teraz ... Moje pytanie brzmi: Jak zezwolić lub zabraniać dostępu do określonych widoków/kontrolerów w mojej aplikacji .NET MVC. Ja natknęliśmy się na to:
[Authorize(Roles = "HrAdmin, CanEnterPayroll")]
[HttpPost]
public ActionResult EnterPayroll(string id)
{
// . . . Enter some payroll . . .
}
Obiekt autoryzacji wydaje się być ograniczenie specyficznych controllers/działań do konkretnych ról ... Ale co, jeśli czytam role użytkownika z UserRoles stołowych jak w moim przypadku ?? W jaki sposób moja aplikacja będzie wiedzieć, jaką rolę ma użytkownik w systemie?
Czy ktoś może mi w tym pomóc?
Czy sprawdziłeś [tożsamość ASP.NET] (https://www.asp.net/identity)? – SeM
Musisz dodać Roszczenia ze swoimi rolami w swojej metodzie "Login()". – SeM
Powyższe jest już zaimplementowane w środowisku tożsamości wbudowanym w MVC5. Nie musisz się martwić o samodzielne tworzenie tych tabel, wystarczy zmienić domyślny ciąg połączenia i wskazać go na serwerze. – uk2k05