Попытка установить безопасность на контроллерах и контенте - PullRequest
1 голос
/ 07 марта 2011

Итак, у меня проблема с применением CSS-файлов через мастер-страницу.У меня был другой вопрос: Не удается загрузить CSS на главной странице , что помогло мне правильно применить тег ссылки (или другие параметры).

Это подтверждается в Firebug, когда вызов возвращается 302. Обнаружено, что стили не применяются.

Этот вопрос приводит к тому, что другой участник указывает на возможные проблемы с доступом к контроллеру / контенту.в моем Web.config.Таким образом, причина этого вопроса - отдельный вопрос, связанный с «безопасностью».

Я прошел ряд полных учебных пособий по MVC-приложениям, таких как NerdDinner (v.1, v.2) и Pro MVC 2, не говоря уже оХорошая часть материала для чтения в моем стремлении изучить ASP.NET MVC - и я не сталкивался с какими-либо подробностями доступа к таким источникам, как / Content, анонимным пользователям только для загрузки CSS-файлов.Также я не читал ничего, что MVC использует подход, который полностью заблокирован, и вы должны открыть определенные области для определенных ролей / пользователей / всех ИЛИ открыть все это для всех.

Так что у меня все еще есть проблемане в состоянии применить правила CSS, даже если он показывает, что файл .css находится (302).Но другая проблема заключается в том, что я вижу второй вызов для загрузки файла в консоли:

localurl.com/Account/Logon?ReturnURL=%2Content%2AdminViews.css

Но ошибки с 500.

Теперь я закомментировал строку URL входа в систему вв моем web.config разделе «Аутентификация», и в моем словаре маршрутов нет маршрута, который я вижу.

Есть какие-нибудь мысли по обеим этим связанным вопросам?

ОБНОВЛЕНИЕ

Я обнаружил, что проблема с тем, почему перенаправление на

localurl.com/login.aspx?returnurl=content/adminview.css

заключалось в том, что аутентификация форм (в IIS) была включена со свойствами, установленными в "Login.aspx".Изменение этого сгенерировало права ACL (желтый экран смерти) при непосредственном доступе к файлу

localurl.com/contents/adminview.css

Я обнаружил, что добавление пользователей в каталог содержимого (т. Е. Учетная запись IUSR) устранит эту проблему.

Так что теперь мне нужно найти, как правильно установить безопасность.Какую учетную запись я должен использовать ... и т.д.У меня уже был доступ к IUSR_ComputerName, который, как я понимаю, является учетной записью анонимного пользователя IIS по умолчанию.Поэтому, почему этого недостаточно для доступа к ресурсам в каталоге ~ / contents /, я не знаю.

1 Ответ

1 голос
/ 08 марта 2011

Вы можете разрешить доступ к этим ресурсам, используя web.config.

 <location path="Content">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>
...