Подтвердить что ты не робот

Авторизация с использованием активного поставщика роли роли MVC4

Я создаю приложение MVC4 для внутреннего использования в корпоративной среде. Я использую проверку подлинности Windows, которая работает нормально, но у меня возникают проблемы с использованием групп Active Directory в качестве ролей для авторизации.

Мой Web.config выглядит следующим образом:

<authentication mode="Windows" />        
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
  <providers>
    <clear />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
  </providers>
</roleManager>        
<authorization>
  <deny users="?" />    
</authorization>

Когда я использую авторизацию пользователя, он отлично работает:

[Authorize(Users = @"DOMAIN\User1, DOMAIN\User2")]
public ActionResult Create()
{
    return View();
}

Но когда я использую роли, он просто не позволяет пользователям в этой группе получать доступ к этому действию:

[Authorize(Roles = @"Domain\Group")]
public ActionResult Create()
{
    return View();
}

Я также попробовал указать группу без домена, как я читал в других ответах, но не повезло... По-моему, я пропускаю что-то в Web.config, но я не уверен, что...

Я избегал использовать поставщика настраиваемых ролей, потому что MVC4 должен достичь этого без специального поставщика роли (или, по крайней мере, того, что я думал)

Может ли кто-нибудь помочь мне с этим?

Спасибо заранее!

4b9b3361

Ответ 1

Я нашел, в чем была проблема. Прочитав некоторую информацию о файле machine.config здесь, я проверил, что я уже использовал правильную конфигурацию.

Fianlly, я начал работать так:

[Authorize(Roles = "Domain\\Group")]
public ActionResult Create()
{
    return View();
}

Проблема заключалась в том, как я набирал группы.

Я надеюсь, что это может помочь другим людям.