Используя авторизацию в ASP.NET, изображения не видны на странице - PullRequest
0 голосов
/ 07 августа 2009

Я реализовал аутентификацию по формам, используя приведенный ниже код. Мой логин URL "Login.aspx". С этими настройками изображения моего сайта не загружаются на login.aspx. Однако, если я прокомментирую раздел authorization, изображения будут показаны.

<authentication mode="Forms">
    <forms name="TBHFORMAUTH" defaultUrl="~/User/Default.aspx" loginUrl ="~/Login.aspx" cookieless="AutoDetect" />
</authentication>

<authorization>
    <deny users="?" />
</authorization>

Почему это поведение?

1 Ответ

3 голосов
/ 18 августа 2009

Вы можете добавить отдельный файл Web.config в папку «Изображения», который не требует пользовательского контроля. Файл Web.config должен содержать только следующее, чтобы предоставить полный доступ:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <system.web>
            <authorization>
               <allow users="*" />
            </authorization>
    </system.web>
</configuration>

Другой подход заключается в том, что если все страницы, которые ограничены пользовательским контролем, расположены в подпапке (то есть, пользователи), то вы можете предоставить полный доступ в основной файл Web.config. и иметь отдельный файл Web.config в папке Users, содержащей:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <system.web>
            <authorization>
               <deny users="?" />
            </authorization>
    </system.web>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...