Перейти к основному содержимому

Создание политики безопасности

Если вы хотите ограничить доступ к экземплярам класса, в модели данных вам необходимо создать политику безопасности. Пока вы не создадите хотя бы одну политику безопасности, доступ к экземплярам класса будет запрещен.

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

Для каждого класса вы можете создать несколько политик безопасности.

к сведению

Дочерний класс не наследует политику безопасности от родительского класса.

Чтобы определить политику безопасности, выполните следующие действия:

  1. В проекте выберите файл DataModel.mdmodel.

  2. На боковой панели нажмите значок UG_settings_icon.png и выберите раздел Классы.

  3. В правой части рабочей области выберите вкладку Политики.

  4. Справа от надписи Политики нажмите +.

  5. В окне Политика безопасности, которое открывается, укажите следующие параметры:

    • Имя (обязательный параметр): введите название политики безопасности.

    • Псевдоним (обязательный параметр): введите псевдоним политики безопасности. Псевдоним будет использоваться для названия политики безопасности в базе данных.

      При вводе значения этого параметра руководствуйтесь следующими требованиями:

      • используйте латинские буквы, цифры и знак подчеркивания;
      • не используйте цифру в качестве первого символа;
      • вводите строку длиной не более 63 символов;
      • не используйте системные имена C#.

    • Выражение (необязательный параметр): введите выражение на языке C# для описания условия доступа к экземпляру класса. В выражении используйте имена классов, атрибутов и перечислений.

      примечание

      В выражении вы не можете использовать атрибут типа MLString.

      Например, выражение для доступа к договорам в статусе завершен и суммой более 2 миллионов может иметь следующий вид:

      .State == State.Done && .Sum > 2000000

      Примерами выражений для атрибута strAtr типа String могут быть следующие:

      • выбор значений атрибута, начинающихся с подстроки startString:

        _.strAttr.StartsWith("startString") 
      • выбор значений атрибута, содержащих подстроку containString:

        _.strAttr.Contains("containString")  
      • выбор значений атрибута, совпадающих со строкой equalString:

        _.strAttr.Equals("equalString")   
      • выбор значений атрибута, которые не являются пустыми:

        !string.IsNullOrWhiteSpace(_.strAttr)    
      • выбор значений атрибутов, сумма которых превышает значение 2000:

        (_.MyInt+_.HisInt)>2000    

      Пример выбора значения BLUE атрибута, имеющего тип перечисления ColorEnum, записывается в виде следующей строки:

      _.color == ColorEnum.BLUE    
  6. Нажмите Создать.

    Окно Политика безопасности закрывается.

    Созданная политика безопасности отображается в области подробной информации о классе в модели данных проекта.

  7. В верхнем правом углу рабочей области нажмите Сохранить.

    Файл DataModel.mdmodel сохраняется в файловой системе бэкенд-сервиса DevTools.

Доступ к экземплярам класса согласно настроенной политике безопасности будет реализован только после публикации проекта.

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