2009-08-31 10 views

Odpowiedz

23

Jeśli prawidłowo skonfigurujesz dostawcę członkostwa ASP.Net, możesz łatwo użyć atrybutu [Autoryzuj], aby określić dostęp dla różnych ról lub użytkowników.

Aby wymagać od użytkowników, aby zalogować się, należy:

[Authorize] 
public class SomeController : Controller 

// Or 
[Authorize] 
public ActionResult SomeAction() 

Aby ograniczyć dostęp do określonych ról, zastosowanie:

[Authorize(Roles = "Admin, User")] 
public class SomeController : Controller 

// Or 
[Authorize(Roles = "Admin, User")] 
public ActionResult SomeAction() 

i ograniczenie dostępu do określonych użytkowników, przeznaczenie:

[Authorize(Users = "Charles, Linus")] 
public class SomeController : Controller 

// Or 
[Authorize(Users = "Charles, Linus")] 
public ActionResult SomeAction() 
+1

Co jeśli chcesz, aby twoje role/uprawnienia były dynamiczne w DB? –

+0

@JoePhilllips Utwórz niestandardowy atrybut, a on aauthorize handler. – nagytech

+0

Podoba mi się dekoracja metody Authorize. Oto kolejne pytanie: jeśli mamy aktywną grupę katalogów utworzoną do obsługi wyjątków od reguły .. np. grupa o nazwie "MyApp_AccessDenied" .. czy istnieje sposób na wykorzystanie tej .. tj. negatywnej wersji dekoracji Authorize ... jak dekoracji DenyAuthorize? – Bkwdesign