Расположение web.config не работает в MVC3 - PullRequest
1 голос
/ 27 марта 2012

У меня есть веб-сайт MVC3, опубликованный на моем dev-сервере.Аутентификация для этого веб-сайта установлена ​​следующим образом: Аноним - Отключено Windows - Включены формы - Включено олицетворение - Включено

Я использую проверку подлинности с помощью форм на своем веб-сайте.Чтобы разрешить анонимный доступ к папке «Содержимое» (все изображения, стили доступны здесь), я добавил метки местоположения в корневой файл web.config.

Когда я пытаюсь получить доступ к своему изображению http://devserver/website/Content/images/logo.png,, он перенаправляет меня на страницу входа.

Если в IIS установить Anonymous - Enabled, я получу доступ к изображению.В противном случае нет.Но я не хочу этого делать, поскольку я не могу отображать локально зарегистрированное имя пользователя непосредственно в текстовом поле имени пользователя, если включен анонимный доступ.

Я также пытался добавить файл web.config с содержимым ниже

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="BlockViewHandler" />
    </handlers>
  </system.webServer>
</configuration>

в папке содержимого.Это также, кажется, не помогает.Любые предложения?

Является ли настройка Anonymous - включен единственный способ разрешить анонимный доступ к моему сайту.

У меня есть веб-сайт ASP.net с аналогичной конфигурацией 1. Анонимный - Отключен, Windows - включен, Олицетворен - Включен 2. Теги местоположения в корневом файле web.config.и работает отлично.

Я не понимаю, почему то же самое не работает в MVC3.Могу ли я добавить некоторые исключения типов файлов (*. Css, * .jpg, * .png), как в других средах PHP MVC3 .?

1 Ответ

0 голосов
/ 27 марта 2012

Рекомендую включить анонимные запросы.

Если вам нужно защитить страницу в ASP.NET MVC, вам нужно использовать атрибут [Authorize]. Вы можете поместить его в контроллер или в объявление действия.

Примеры:

[Authorize]
public class HomeController : Controller
{
  // All actions will be authenticated
  ...
}

public class HomeController : Controller
{
  public ActionResult EveryoneAllowed() {...}

  [Authorize]
  public ActionResult OnlyAuthenticated() {...}
}
...