Возможно ли иметь такой вид авторизации на основе ролей? - PullRequest
0 голосов
/ 04 октября 2019

Я настраиваю авторизацию на основе ролей в своем веб-приложении ASP.NET MVC, и мне нужна помощь с атрибутами авторизации ролей на разных уровнях.

Я читал об этом из этогостатьи и увидел, что возможно иметь ограничения, как в этом примере кода:

[Authorize(Roles = "Administrator, User")]
public class MyController : Controller
{
    public ActionResult SetAction1()
    {
    }

    [Authorize(Roles = "Administrator")]
    public ActionResult SetAction2()
    {
    }
}

Возможно ли иметь такой тип авторизации роли?

[Authorize(Roles = "Administrator")]
public class ControlPanelController : Controller
{
    public ActionResult SetAction1()
    {
    }

    [Authorize(Roles = "Administrator, User")]
    public ActionResult SetAction2()
    {
    }
}

1 Ответ

0 голосов
/ 04 октября 2019

Нет;

Если вы установите [Authorize(Roles = "Administrator")] на контроллере, тогда только Administrator может пройти авторизацию и роль User будет запрещена. Таким образом, пользователь никогда не достигнет этого уровня. Но если один пользователь одновременно имеет роль Administrator и User, то он / она пройдет ее.

...