Sharepoint: запрет доступа к документу в библиотеке документов - PullRequest
1 голос
/ 20 октября 2010

В настоящее время весь ListItem удаляется из библиотеки Doc, если у пользователя нет разрешения на просмотр соответствующего документа, но мне бы очень хотелось, если бы пользователь мог хотя бы просмотреть метаданные с элементом списка и предотвратить их. от доступа к соответствующему документу (т.е. они нажимают на ссылку документа и получают отказ, или они вводят URL-адрес вручную и получают отказ и т. д.).

Существует ли какой-либо обработчик событий библиотеки документов, который обрабатывает «доступ» к документу, который я могу реализовать и проверять разрешения пользователя перед передачей ему документа? Или что-то в этом роде ..

Ответы [ 3 ]

0 голосов
/ 21 октября 2010

Это что-то совершенно экспериментальное, я не пробовал и никогда не слышал ни о ком, кто это делал, но здесь идет речь: В папке Template \ Xml находится файл с именем serverfiles.xml. Вы также можете создать свой, просто убедитесь, что имя построено следующим образом: serverfiles [yourname] .xml. Этот файл управляет перенаправлениями в зависимости от типов файлов, например, XML-файлы InfoPath перенаправляются на Forms Server. Вы могли бы:

  1. Перенаправить все файлы Office на пользовательскую страницу ASPX
  2. В коде этой страницы примените некоторую проверку пользовательских разрешений (например, создайте группу читателей, если пользователь только в этой группе означает, что он видит только метаданные).
  3. Перенаправить пользователей с ограниченными правами на пользовательскую страницу ошибки.

Таким образом, пользователи могут видеть метаданные (потому что с точки зрения SharePoint они читатели), но не могут видеть документ (поскольку вы его блокируете). Опять же, я не пробовал, но это может сработать.

Если вы решите пойти на это, я хотел бы знать, как все прошло :)

0 голосов
/ 22 октября 2010

Ответ на мой вопрос: создайте собственный httpHandler, который обрабатывает типы документов, которые должны быть перехвачены.

Хорошие статьи: http://dotnetslackers.com/articles/aspnet/WatermarkingPDFDocumentsUsingHttpHandlers.aspx http://blogs.msdn.com/b/kaevans/archive/2010/08/04/deploying-an-asp-net-httphandler-to-sharepoint-2010.aspx

Кроме того, может быть ошибка с общим кодом обработчика, который создает Visual Studio. Прочтите эту статью для создания httpHandler с кодом позади, http://aspnetresources.com/blog/httphandler_code_behind

0 голосов
/ 21 октября 2010

Списки / Библиотеки имеют следующие обработчики событий уровня элемента:

  • ItemAdded
  • ItemAdding
  • ItemAttachmentAdded
  • ItemAttachmentAdding
  • ItemAttachmentDeleted
  • ItemAttachmentDeleting
  • ItemCheckedIn
  • ItemCheckedOut
  • ItemCheckingIn
  • ItemCheckingOut
  • ItemDeleted
  • ItemDeleting
  • ItemFileConverted
  • ItemFileMoved
  • ItemFileMoving
  • ItemUncheckedOut
  • ItemUncheckingOut
  • ItemUpdated
  • ItemUpdating

Как видите, нет событий, которые могли бы обработать открытие элемента.

Чтобы пользователь не мог получить доступ к документу из веб-части просмотра списка библиотеки, вы могли бы потенциально расширить веб-часть просмотра списка OOTB, включив в нее необходимые функции, или использовать дополнительную веб-часть для управления веб-частью просмотра списка OOTB через API-интерфейс SharePoint или JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...