#forms-authentication #umbraco
#формы-проверка подлинности #umbraco
Вопрос:
Я просто взял свою локальную, функционирующую установку umbraco и скопировал ее в среду тестирования.
Внезапно ВСЕ запросы на мой сайт umbraco, что означает css, javascript и т. Д., Перенаправляются на страницу login.aspx. Таким образом, веб-сайт не работает, если вы не войдете в систему. Если вам удастся войти в систему, используя форму без css, тогда все вернется в нормальное русло.
Web.config говорит
<authentication mode="Forms">
<forms name="yourAuthCookie" loginUrl="login.aspx" protection="All" path="/" timeout="120" />
</authentication>
<authorization>
<allow users="*" />
</authorization>
Изменение * на ? не имеет значения. В чем здесь может быть дело? Моя настройка — это 2 конфигурации, зеркально отображающие веб-серверы IIS7, просматривающие общий путь UNC.
Ответ №1:
Я думаю, вам следует проверить настройки разрешений в вашей среде, потому что, если вы получаете перенаправление для всех ресурсов, даже для статических файлов — обычно это обычная проблема с разрешениями.
/install/default.aspx?installStep=validatePermissions
or for 4.7
/install/?installStep=filepermissions
http://our.umbraco.org/wiki/reference/files-and-folders/permissions/perform-permissions-check
Ответ №2:
Это может быть проблема с правами доступа к файлам. В качестве временного решения попробуйте установить для всех файлов значение «Все» — Изменить.
Ответ №3:
Все пути доступны только при аутентификации, поэтому вам необходимо исключить js и css из аутентификации в вашем web.config, например:
<configuration>
<location path="css">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
Ответ №4:
Вам необходимо указать allow users="?"
, чтобы разрешить анонимных пользователей.
Проверьте также членство в разделе… Мой web.config содержит:
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Another Type" passwordFormat="Hashed" />
<add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />
</providers>
</membership>
Вам необходимо:
- Создайте страницу входа (как и любую другую ASP.NET сайт).
- Создайте записи в разделе «Участники» (по крайней мере, один тип участника, группа участников и участник).
- Определите ограниченный доступ к узлам содержимого (меню «Общедоступный доступ»).
Ответ №5:
Недавно я испытал это также на тестовом сайте Umbraco. Обнаружено, что это связано с тем, что файлы, пытающиеся получить доступ, хранятся на зашифрованном диске (с использованием Windows 7 в моей тестовой среде).
Исправлено, выбрав все файлы и папки сайта в проводнике, свойствах, Дополнительно (на вкладке Общие), снимите флажок «Шифровать содержимое для защиты данных». Тогда доступ к ресурсам можно было бы получить на Umbraco без каких-либо перенаправлений аутентификации.