IIS7.5 и MVC 2: реализация безопасности HTTP (S) - PullRequest
0 голосов
/ 20 апреля 2010

Это мое первое приложение ASP.NET MVC и мое первое в установке IIS 7.x, в результате чего мне нужно делать что-то сверх стандарта.

Мне нужно включить проверку подлинности Windows на страницах / сервисах / Index и /feeds/xxx.svc. В ASP.NET Web Forms я бы применял разрешения Windows к файлам и удалял анонимную аутентификацию в IIS 6. Это должно работать через HTTP / S, но не беспокойтесь об этом, это под рукой.

Что происходит в MVC / IIS 7?

Я попытался изменить разрешения в представлении /Index.aspx, которое, по-видимому, блокирует доступ. Он запрашивает у меня имя пользователя / пароль, но не дает доступа, когда я ввожу правильное имя пользователя / пароль. Нажатие Escape дает мне исключение "** Доступ к пути 'E: \ dev \ xxx \ xxx.ConsultantRegistration.Web.Admin \ Views \ ConsultantRegistration \ index.aspx' запрещен. **", который действительно отправляется как 401.

Таким образом, хотя имя пользователя / пароль существует в представлении Index.aspx, я не могу использовать эти учетные данные для доступа к указанному представлению.

У меня в файле web.config:

Что мне не хватает?

1 Ответ

0 голосов
/ 20 апреля 2010

Не устанавливать права доступа к файлам. Вместо этого включите провайдер WindowsAuthentication на своем веб-сайте в IIS и добавьте атрибут [Authorize] в действие контроллера. Вы можете дополнительно отфильтровать пользователей, имеющих доступ к этим страницам, следующим образом:

[RequireHttps, Authorize(Users="MyUser")]
public ActionResult Index()
{
    return View();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...