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

Небольшая заметка об интересной возможности 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 свойство.


Поделиться

Коментарии