Сокрытие информации о пользователе создавшем/изменившем элемент

Небольшая заметка об интересной возможности SharePoint: сокрытие информации о пользователе создавшем/изменившем элемент списка.

Сокрытие информации о пользователе

За данное поведение отвечает булево свойство SPListItem.ShowUser. Указав значение true, вместо имени пользователя мы увидим "***". Относится это только к полям CreatedBy и ModifiedBy.

Если посмотреть класс SPFieldLookupValue, то можно увидеть свойство IsSecretFieldValue и один из конструкторов:

  1. public class SPFieldLookupValue
  2. {
  3. public SPFieldLookupValue(string fieldValue)
  4. {
  5.     if (!string.IsNullOrEmpty(fieldValue))
  6.     {
  7.         if (fieldValue == "***")
  8.         {
  9.             this.m_secretFieldValue = true;
  10.         }
  11.         else
  12.         {
  13.             // ...
  14.         }
  15.     }
  16. }
  17. // ...
  18. }

Программно мы все равно сможем получить свойство LookupId, а вот LookupValue опять же вернет нам "***". Хоть данный конструктор доступен, использовать его не получится: при сохранении произойдет исключение, намекающее нам, что мы пытаемся изменить read-only свойство.

Виталий Жуков

Виталий Жуков

SharePoint архитектор, разработчик, тренер, Microsoft MVP (Office Development). Более 15 лет опыта работы с SharePoint, Dynamics CRM, Office 365, и другими продуктами и сервисами Microsoft.

Смотрите также

SharePoint 2007. Проверка на наличие элемента в списке

SharePoint 2007. Проверка на наличие элемента в списке

SharePoint 2007. База данных содержимого

SharePoint 2007. База данных содержимого

SharePoint 2007. Свой контрол на панели свойств веб-парта

SharePoint 2007. Свой контрол на панели свойств веб-парта

SharePoint 2007. Максимальное/минимальное значение поля в списке

SharePoint 2007. Максимальное/минимальное значение поля в списке

SharePoint 2007. Получение данных из нескольких списков и узлов

SharePoint 2007. Получение данных из нескольких списков и узлов