Лучший отвечающий
Анонимный доступ к CustomPage.aspx

Вопрос
-
Всем доброго времени суток.
Может ли кто-нибудь дать совет о настройке анонимного доступа для персональных страниц?
Теперь подробнее:
1) для обеспечения некоторых нужд (кастомизация функционала) создан проект в VS 2010, где есть CustomPage.aspx с необходимым функционалом;
2) Страница помещена в Sharepoint Mapped Folder, т.е. в соответствующий персональный каталог (папку) внутри папки LAYOUTS.
3) В результате после развертывания такого проекта данная страница будет доступна по адресу http://адрес_сайта/_layouts/ИмяКаталога/CustomPage.aspx.
4) Естественно был настроен анонимный доступ для всего сайта. При этом отмечу, что хоть и отменил наследование прав доступа для всех списков и библиотек, но так же разрешил анонимный доступ тем спискам, где этого требует логика решения.
5) В результате: все в порядке, пока пользователь авторизован, т.е. он имеет доступ к данной странице, может выполнять все необходимые действия на ней и т.п.
Но вот когда на сайт заходит анонимный пользователь, то при переходе к нашей кастомной странице вылезает ошибка:
Ошибка [Page_Load]: Поток находился в процессе прерывания. Устранение неполадок в работе службы Microsoft SharePoint Foundation. Идентификатор взаимосвязи: ffef8f1d-25d6-4383-8eae-8502f31324d1
Хотелось бы вообще узнать, есть ли какие-либо рекомендации или правила по поводу управления доступом к страницам в папке LAYOUTS.
Заранее спасибо.
26 июля 2011 г. 9:42
Ответы
-
После долгих и упорных переборов переборов всех возможных вариантов, решение наконец найдено!! (урррра товарищи)
1. Первое - это естественно для страницы было выставлено свойство AllowAnonymousAccess в true.
Здесь стоит отметить, что замена стандартного LayoutsPageBase на UnsecuredLayoutsPageBase вообще не имела никакого результата - страница упорно требовала авторизацию пользователя при загрузке.
2. Практически весь код, включая PageLoad был снабжен вот такой конструкцией SPSecurity.RunWithElevatedPrivileges(delegate()....
Таким образом был достигнут желаемый результат, не просто анонимный доступ к CustomPage.aspx внутри папки LAYOUTS, но и выполнение анонимным пользователем необходимых действий - создание и редактирование некоторого документа.
P.S. Roman Zhukov спасибо за ссылки, но честно говоря полезного там было мало)) Все это я и раньше знал.
- Помечено в качестве ответа AlexanderSharePoint 9 августа 2011 г. 5:15
9 августа 2011 г. 5:14
Все ответы
-
Сразу хочу добавить, что использование следующих методов (см. ниже) не принесло результата.
- заменить базовый класс для страницы: вместо стандартного LayoutsPageBase поставить UnsecuredLayoutsPageBase (источник);
- задать значение для свойства страницы AllowAnonymousAccess в true (источник) - так между прочим раньше и было, и все работало, пока на другой сервак не посадил проект.
В итоге, я думаю, может это уже дело не в самой странице, а в настройках сайта??
27 июля 2011 г. 8:59 -
Здравствуйте,
посмотрите по вашему вопросу ресурсы ниже:
How to provide anonymous access only to two aspx pages and not the enitre site
Cannot access pages using /_layouts//.aspx
Cannot Access ASPX Pages in Layouts Folder
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.8 августа 2011 г. 13:31 -
После долгих и упорных переборов переборов всех возможных вариантов, решение наконец найдено!! (урррра товарищи)
1. Первое - это естественно для страницы было выставлено свойство AllowAnonymousAccess в true.
Здесь стоит отметить, что замена стандартного LayoutsPageBase на UnsecuredLayoutsPageBase вообще не имела никакого результата - страница упорно требовала авторизацию пользователя при загрузке.
2. Практически весь код, включая PageLoad был снабжен вот такой конструкцией SPSecurity.RunWithElevatedPrivileges(delegate()....
Таким образом был достигнут желаемый результат, не просто анонимный доступ к CustomPage.aspx внутри папки LAYOUTS, но и выполнение анонимным пользователем необходимых действий - создание и редактирование некоторого документа.
P.S. Roman Zhukov спасибо за ссылки, но честно говоря полезного там было мало)) Все это я и раньше знал.
- Помечено в качестве ответа AlexanderSharePoint 9 августа 2011 г. 5:15
9 августа 2011 г. 5:14