Я создаю приложение 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 должен достичь этого без специального поставщика роли (или, по крайней мере, того, что я думал)
Может ли кто-нибудь помочь мне с этим?
Спасибо заранее!