Как заставить AuthorizeAttribute работать с локальной группой Administrators в интранет-приложении ASP.NET MVC 3?

В этом интранет-приложении ASP.NET MVC 3 (созданном с использованием шаблона MVC 3 Intranet Application), где пользователи аутентифицируются автоматически в AD, я пытаюсь ограничить доступ к контроллеру для пользователей из локальной группы Administrators. Для этого я попытался применить AuthorizeAttribute следующим образом:

[Authorize(Roles = "Administrators")]
public class ElmahController : Controller

Однако, несмотря на то, что мой пользователь AD (приложение сообщает, что ожидаемый пользователь был аутентифицирован) находится в локальной группе Administrators, я не могу получить доступ к контроллеру, когда применяется AuthorizeAttribute. Появляется только пустая страница. Что я делаю не так?

С другой стороны, я проверил, что указание конкретного пользователя работает:

[Authorize(Users = @"ad\arve")]
public class ElmahController : Controller

В этом случае я могу успешно получить страницу с ограниченным доступом.

EDIT: Я обнаружил, что определение группы с помощью BUILTIN работает:

[Authorize(Roles = @"BUILTIN\Administrators")]

Это окончательный способ обращения к локальным группам через AuthorizeAttribute?

6
задан aknuds1 27 December 2011 в 15:10
поделиться