Можно ли переключать поставщиков ролей в коде? - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть веб-приложение ASP.Net MVC 5, которому необходимо использовать группы AD для общего доступа, но мне также нужно иметь роли в приложении, которые приложение должно поддерживать на очень детальном уровне.Можно ли использовать несколько поставщиков ролей?1 для групп AD, а другой - с использованием специального поставщика ролей?Я хотел бы использовать атрибуты на контроллерах для ограничения доступа, но я не могу понять, как заставить его использовать роли и группы объявлений SQL, когда они поддерживаются отдельно?

Я думаю, я бы хотелзнаете, если через код, если я могу переключаться между 2 различными rolleManager?Я даже не уверен, могу ли я иметь больше одного, но это кажется странным, если я не могу, так как я могу указать значение по умолчанию?

<roleManager enabled="true" defaultProvider="CustomRoleProvider">
  <providers>
    <clear />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider"  applicationName="/"  />
    <add name="CustomRoleProvider" type="Reconciliation.CustomRoleProvider.CustomRoleProvider" applicationName="/" />
  </providers>
</roleManager>

В некоторых случаях я хотел бы использовать Use.IsInRole ("RoleName"), а в других я хотел бы запрашивать Active Directory вместо таблицы ролей SQL.

Я собираюсь оставить это открытым, потому что я не смог понять, как переключать поставщиков ролей в коде.Чтобы решить мою проблему, я в итоге использовал Global Filter с классом Authorize, чтобы позволить мне запрашивать AD и определять, был ли человек авторизован для доступа к приложению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...