2010-01-27 5 views
9
<authentication mode="Forms"> 
     <forms loginUrl="Login.aspx"/> 
</authentication> 
<authorization> 
     <deny users="?"/> 
</authorization> 

Я использую проверку подлинности форм, и когда я помещаю аргументы, приведенные выше, форматирование css, которое я сделал для всего документа, не выполняется, оно исчезает. что я должен делать, чтобы CSS оставался неповрежденным.Как использовать авторизацию ASP.NET, но разрешить доступ к файлам .css?

ответ

20

Я предполагаю, что ваша форма входа имеет внешний файл CSS и что вы используете интегрированный режим Cassini или IIS 7.

Ваш <deny users="?"/> запрещает анонимным пользователям просматривать файлы CSS в форме входа.

Вы должны использовать <location> элемент, чтобы видеть анонимных пользователей файлы CSS, например:

<location path="CSS"> 
    <system.web> 
     <authorization> 
      <allow users="?"/> 
     </authorization> 
    </system.web> 
</location> 
+0

У меня такая же проблема, и это решение не работает для меня. У меня даже нет пользователей запрета в моей веб-конфигурации. –

+0

@ Эрик: проверьте Firebug. – SLaks

+2

Я понял. Это было то, что я пропустил из своего контрольного списка при настройке нового приложения IIS: выберите приложение, дважды щелкните «Аутентификация», выберите «Анонимная аутентификация», затем «Изменить» и измените его, чтобы использовать идентификатор пула приложений. Убедитесь, что у пользователя есть разрешения на папку, содержащую сайт. –

6

Используйте расположение элементов, чтобы обеспечить доступ к CSS:

<configuration> 
    <location path="style.css"> 
     <system.web> 
     <authorization> 
      <allow users="?"/> 
     </authorization> 
     </system.web> 
    </location> 
</configuration> 
+0

<расположение путь =»style.css»> <разрешение> <разрешить пользователям =»*»> Я пытался это, Atlast ваше решение отметил где я был неправ. – Chaitanya

0
<location path="Images"> 
<system.web> 
    <authorization> 
    <allow users="?"/> 
    </authorization> 
</system.web> 

**

-2

, пожалуйста, добавьте этот код в файл веб-конфигурации

<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB"/>

+0

Ответ не имеет отношения к делу и не объясняется, почему этот код следует добавить. – LazyTarget

Смежные вопросы