активация «авторизации» приводит к тому, что CSS перестает работать! как это решить? - PullRequest
0 голосов
/ 20 декабря 2011

когда я использую:

<deny users="?"/>

в тегах "авторизации", CSS перестает работать для неавторизованных посетителей.Как я могу определить исключение для CSS-файлов.я хочу, чтобы они применялись ко всем посетителям.

это мой файл web.config:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
        <roleManager enabled="true"/>
        <authentication mode="Forms">
            <forms loginUrl="welcome.aspx" defaultUrl="Default.aspx"/>
        </authentication>
        <compilation debug="true" targetFramework="4.0"/>
</system.web>
</configuration>

я отредактировал свой web.config для этого:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <deny users="?"/>
        </authorization>
        <roleManager enabled="true"/>
        <authentication mode="Forms">
            <forms loginUrl="welcome.aspx" defaultUrl="Default.aspx"/>
        </authentication>
        <compilation debug="true" targetFramework="4.0"/>
       </system.web>

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

     <location path="styles/welcome.css">
      <system.web>
       <authorization>
        <allow users="*"/>
       </authorization>
      </system.web>
    </location>
</configuration>

и это работает.спасибо.

Ответы [ 3 ]

3 голосов
/ 20 декабря 2011

Добавьте местоположение вашего CSS в ваш web.config.Вы можете поместить его полностью в конец, прямо перед </configuration>

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

Конечно, замените «css» на настоящую папку вашего файла css ... Это проще всего поместить вотдельная папка, где все элементы являются общедоступными.Так же, как ваши изображения и т. Д.

0 голосов
/ 20 декабря 2011

Вы можете использовать элемент Location, чтобы определить, к какой части вашего сайта применяется конфигурация:

(от MSDN )

<location allowOverride="True|False" path="path" />
0 голосов
/ 20 декабря 2011

Возможно, вы блокируете доступ к папке, в которой храните файлы CSS.

Попробуйте разрешить всем доступ к вашей css-папке, даже если они не авторизованы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...