?

Log in

No account? Create an account
 
 
17 Июнь 2013 @ 22:47
Sharepoint: показать / скрыть контент в зависимости от прав пользователя  
(да, я знаю, что это боян, но этот вопрос задается очень часто, и обычно советуют поставить какой-нибудь сторонний компонент, иногда даже платный, но ведь бывают случаи, когда достаточно доступного "из коробки" функционала)
(и да, я уже немного писала про эту проблему в после про глюк одного компонента, но решила написать более развернуто)

Очень часто возникает следующая проблема: в Шерпойнте нельзя встроенными средствами раздать права доступа к столбцам списка (не знаю насчет Sharepoint 2013, но в 2010 этого по-прежнему не было). Зато существует довольно много сторонних решений - как бесплатных (например, уже упоминавшийся у меня в блоге SPGuysCustomFieldPermissions и китайский CodeArtPermissionsEx (могла ошибиться с названием; у меня этот компонент почему-то не работал; кажется, я там не все правильно настроила...)), так и платных. Но, насколько мне известно, в этих компонентах на самом деле не раздаются права доступа к столбцам, они просто скрываются / показываются (или получают атрибут "только для чтения") на форме создания / просмотра / изменения элемента списка; минусы у такого решения, конечно, есть - например, можно открыть список для редактирования в режиме таблицы (это легко отключается) и т.д. Но не все знают, что кое-какие средства для показа / скрытия полей списка для пользователей или групп уже есть в Шерпойнте "из коробки": http://dellakin-smith.com/sharepoint-2010-hide-fields-from-users/ (условное форматирование, "Показать / скрыть контент" и функция IfHasRights; в статье есть расшифровка уровней разрешений).
Подобная задача впервые встала передо мной в конце сентября прошлого года - нужно было скрыть некоторые поля одного списка от определенной группы пользователей. Естественно, сначала я бросилась искать всякие сторонние решения, а потом наткнулась на статью (не на ту, что выше, но смысл был точно тот же, только воды больше). Мне нужно было скрыть поля от пользователей с определенным уровнем разрешений, поэтому этого функционала хватило. Однако в ближайшем будущем мне предстоит все-таки либо написать свой компонент, либо найти работающий, потому что нужно скрывать поля от пользователей, у которых такие же права, как и у тех, для кого эти поля должны быть видны. Вроде бы уже есть кое-какие мысли насчет несчастного SPGuysCustomFieldPermissions (который портит поле "От" в почтовых оповещениях от портала, не трогая оповещения от рабочих процессов) - вроде там действительно есть, во-первых, какой-то дополнительный компонент SPGuysCustomAlertPermissions, при отключении которого основной компонент продолжает работать (но это я проверяла в виртуалке, где не поднят почтовый сервер (потому что не поднят AD - после его установки валится портал (только в моей виртуалке, конечно); почему - буду разбираться), так что не знаю, как после этого отключения обстоит дело с оповещениями), во-вторых, там есть какая-то dll'ка, в имени которой есть "language" - возможно, она что-то портит (но трогать ее не буду по понятным причинам). Также автору компонента уже написали про проблему с оповещениями на Codeplex, теперь ждем ответа.
Метки:
 
 
Настроение: sleepysleepy
Музыка: O Quam Tristis - O Crux Ave Spes Unica