Как авторизовать роль пользователя на конкретном контроллере / действии mvc3? - PullRequest
4 голосов
/ 11 октября 2011

Как я могу установить авторизацию для определенного действия в контроллере?

Пример (авторизует действительное имя пользователя, вошедшего в систему):

    [Authorize]  
    public ActionResult ChangePassword()
    {
        return View();
    }

Итак, я ищу для проверки на основе доступана роли пользователей ... что-то вроде этого:

    [Authorize]
    [AuthorizeRole="Admin"]     // This is psuedo but something like this   
    [AuthorizeRole="SuperUser"] // This is psuedo but something like this 
    public ActionResult ChangePassword()
    {
        return View();
    }

Возможно ли что-то подобное вышеописанному?Если нет, то каков наилучший способ защиты доступа на основе ролей для конкретного контроллера / безопасности действий?

Спасибо!

Ответы [ 2 ]

12 голосов
/ 11 октября 2011

Это то, что вам нужно.

[Authorize(Roles = "Admin, SuperUser")] 

См .: http://msdn.microsoft.com/en-us/library/dd460317.aspx

3 голосов
/ 11 октября 2011
[Authorize(Users="Jacquo, Steve", Roles="Admin, SuperUser")]

Пользователи: разделенный запятыми список имен пользователей, которым разрешен доступ к методу действия.

Роли: разделенный запятыми список имен ролей.Чтобы получить доступ к методу действия, пользователи должны быть хотя бы в одной из этих ролей.

http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx

...