ViewFormPagesLockDown и исключение определенных списков/страниц

StackOverflow https://stackoverflow.com/questions/2367826

Вопрос

Я работаю над общедоступным сайтом MOSS 2007, который использует функцию ViewFormPagesLockDown, чтобы запретить анонимным пользователям доступ к стандартным формам списков.Я не хочу терять дополнительную безопасность, которую обеспечивает эта функция, но есть несколько списков, к формам которых анонимные пользователи должны иметь доступ.

Могу ли я что-нибудь сделать в настройках списка, шаблоне списка или в коде функции, чтобы запретить определенному списку или форме требовать SPBasePermissions.ViewFormPages?

Это было полезно?

Решение

Я не смог найти способ обойти это.Поддержка функции LockDown, похоже, встроена в класс формы.Вместо этого мы создали отдельную страницу со своей собственной СписокФормаВебЧасть.Ниже приведена адаптация записи из нашего внутреннего блога, где я описал шаги, позволяющие анонимному пользователю добавлять новые элементы в список:

В настройках списка перейдите в раздел «Дополнительные настройки».Убедитесь, что для параметра «Доступ для чтения» установлено значение «Все элементы».Вернитесь к настройкам списка и выберите «Разрешения для этого списка».Отмените наследование от сайта, выбрав Действия > Изменить разрешения.Примечание:Если слева от имен вы видите флажок, этот шаг уже выполнен.После установки настраиваемых разрешений выберите «Настройки» > «Анонимный доступ».Установите флажок «Добавить элементы» и нажмите «ОК».Чтобы завершить анонимный доступ, вернитесь в «Настройки» > «Дополнительные настройки» и выполните сброс, чтобы выбрать «Только свои» для доступа «Чтение» и «Редактирование», затем нажмите «ОК».

Создайте новую страницу, используя Действия сайта > Создать страницу.Откройте сайт SharePoint Designer.Щелкните правой кнопкой мыши только что созданную страницу и выберите «Отсоединить от макета страницы».Поместите курсор в зону веб-части и выберите «Вставка» > «Элементы управления SharePoint» > «Настраиваемая форма списка».Выберите соответствующий список и форму «Новый элемент», затем нажмите «ОК».На панели «Код» изменять DataSourceMode во вновь созданной DataFormWebPart из ListItem в Webs.Если оставить настройку ListItem по умолчанию, анонимные пользователи получат сообщение «Доступ запрещен.У вас нет разрешения на выполнение этого действия или доступ к этому ресурсу».Сохраните и просмотрите страницу в браузере.

Для достижения наилучших результатов используйте SharePoint Designer только на сервере разработки.Чтобы перенести веб-часть в рабочую среду, откройте страницу на сервере разработки в браузере и выберите «Экспорт» в меню веб-части.Сохраните файл веб-части.Откройте страницу на рабочем сервере в браузере и выберите «Редактировать страницу в действиях сайта».В меню панели инструментов страницы выберите «Страница» > «Добавить веб-части» > «Импорт».Введите расположение файла веб-части, сохраненного с сервера разработки, и нажмите «Загрузить».Затем перетащите импортированную веб-часть из панели инструментов справа в нужную зону веб-части.Чтобы сохранить страницу, нажмите «Опубликовать».

Другие советы

Более старый вопрос, но я решил добавить еще один вариант, который вы можете использовать для этого.

Решение:Как упомянул Рич, наследование разрешений разрыва в списке.Отключите функцию ViewFormPagesLockDown.
Предоставьте анонимным пользователям доступ к списку.Включите функцию ViewFormPagesLockDown.

Анонимные пользователи теперь должны иметь доступ к страницам приложений только для списка.

Почему:Функция ViewFormPagesLockDown удаляет разрешения «Просмотр страниц приложения» и «Использование удаленных интерфейсов» из роли разрешений «Ограниченный доступ».Однако анонимные пользователи не получают изменений в этих ролях до тех пор, пока не будет переключена опция анонимного доступа.Это работает либо на уровне сайта, либо на уровне списка.Поэтому, если вы хотите, чтобы определенный веб-сайт или список имели другой анонимный доступ к страницам приложения, вы можете использовать приведенное выше решение, чтобы изменить это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top