ViewFormPagesLockDown и исключая определенные списки / страницы - PullRequest
0 голосов
/ 03 марта 2010

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

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

Ответы [ 2 ]

1 голос
/ 01 августа 2012

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

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

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

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

1 голос
/ 03 марта 2010

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

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

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

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

...