Мне интересно узнать, какие лучшие практики для использования безопасности на основе ролей в MVC:
как защитить ваши действия и сделать их доступными только для определенных ролей?
Ролевая безопасность asp.net mvc
Ответ 1
Если вы правильно настроили провайдера членства ASP.Net, вы можете легко использовать атрибут [Authorize] для указания доступа для разных ролей или пользователей.
Чтобы пользователи могли войти в систему, используйте:
[Authorize]
public class SomeController : Controller
// Or
[Authorize]
public ActionResult SomeAction()
Чтобы ограничить доступ для определенных ролей, используйте:
[Authorize(Roles = "Admin, User")]
public class SomeController : Controller
// Or
[Authorize(Roles = "Admin, User")]
public ActionResult SomeAction()
И чтобы ограничить доступ для определенных пользователей, используйте:
[Authorize(Users = "Charles, Linus")]
public class SomeController : Controller
// Or
[Authorize(Users = "Charles, Linus")]
public ActionResult SomeAction()