Directum RX 4.9. Spectrum. Оптимизация разрешающих прав

Начать. Это бесплатно
или регистрация c помощью Вашего email-адреса
Directum RX 4.9. Spectrum. Оптимизация разрешающих прав создатель Mind Map: Directum RX 4.9. Spectrum. Оптимизация разрешающих прав

1. Конфигурация

1.1. БД

1.1.1. PG

1.1.2. MSSQL

1.2. Сервер

1.2.1. Windows

2. Выдача/изъятие прав на сущности

2.1. Документ

2.1.1. Через UI

2.1.1.1. Выдача прав на одну сущность

2.1.1.1.1. :white_check_mark: Sungero_***_***ReadAccess добавится новая запись

2.1.1.2. Массовая выдача прав

2.1.1.2.1. На новую сущность, где нет прав

2.1.1.2.2. На сущность с правами, например, были права на просмотр, выдали на изменение

2.1.1.2.3. На сущность с правами, например, были права на просмотр, выдали на просмотр

2.1.1.3. Изъятие прав на одну сущность

2.1.1.3.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess запись с правами на сущность должна удалиться

2.1.1.4. Массовое изъятие прав

2.1.1.4.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess записи с правами на сущности должны удалиться

2.1.1.5. Один пользователь с разными правами, например просмотр и изменение и удалили один тип прав

2.1.1.5.1. :white_check_mark: :interrobang: Sungero_***_***ReadAccess записи с правами на сущности не должны удалиться

2.1.2. Программно

2.1.2.1. Выдача/изъятие прав в событии инициализации модуля

2.1.2.1.1. :white_check_mark: Sungero_***_***ReadAccess добавятся/удалятся новые записи

2.1.2.2. Выдача/изъятие прав в событии создания сущности

2.1.2.2.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess добавятся/удалятся новые записи

2.1.2.3. Выдача/изъятие прав в фоновом процессе

2.1.2.3.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess добавятся/удалятся новые записи

2.1.3. Выдача запрещающих прав

2.1.3.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess не добавятся новые записи

2.1.4. Удаление сущности

2.1.4.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess записи с правами на сущности должны удалиться

2.1.5. Выдать права в одной транзакции на 10 сущностей и вызвать ошибку на последней итерации

2.1.5.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess никаких записей не добавится

2.1.6. Смена типа

2.1.6.1. :white_check_mark: :ballot_box_with_check: Sungero_***_***ReadAccess меняется guid типа

2.2. Справочник

2.2.1. Программно

2.2.1.1. Выдача/изъятие прав в событии инициализации модуля

2.2.1.1.1. :white_check_mark: Sungero_***_***ReadAccess добавятся/удалятся новые записи

2.2.1.1.2. Выдача запрещающих прав

2.2.1.2. Выдача/изъятие прав в событии создания сущности

2.2.1.2.1. :white_check_mark: Sungero_***_***ReadAccess добавятся/удалятся новые записи

2.2.1.3. Выдача/изъятие прав в фоновом процессе

2.2.1.3.1. :white_check_mark: Sungero_***_***ReadAccess добавятся/удалятся новые записи

2.2.2. Удаление сущности

2.2.2.1. :white_check_mark: Sungero_***_***ReadAccess записи с правами на сущности должны удалиться

2.2.3. Выдать права в одной транзакции на 10 сущностей и вызвать ошибку на последней итерации

2.2.3.1. :white_check_mark: Sungero_***_***ReadAccess никаких записей не добавится

2.3. Папки

2.3.1. Через UI

2.3.1.1. Выдача прав на одну сущность

2.3.1.1.1. :white_check_mark: Sungero_***_***ReadAccess добавится новая запись

2.3.1.2. Массовая выдача прав

2.3.1.2.1. На новую сущность, где нет прав

2.3.1.2.2. На сущность с правами, например, были права на просмотр, выдали на изменение

2.3.1.3. Изъятие прав на одну сущность

2.3.1.3.1. :white_check_mark: Sungero_***_***ReadAccess запись с правами на сущность должна удалиться

2.3.1.4. Массовое изъятие прав

2.3.1.4.1. :white_check_mark: Sungero_***_***ReadAccess записи с правами на сущности должны удалиться

2.3.2. Выдача запрещающих прав

2.3.2.1. :white_check_mark: Sungero_***_***ReadAccess не добавятся новые записи

2.3.3. Удаление сущности

2.3.3.1. :white_check_mark: Sungero_***_***ReadAccess записи с правами на сущности должны удалиться

2.3.4. Программно

2.3.4.1. :white_check_mark: В ФП найти папку и выдать права

2.3.4.2. :white_check_mark: Через обложку модуля выдать/удалить права

3. Права в семействе ЗЗУ

3.1. Простая задача

3.1.1. Создал

3.1.1.1. Автор задачи добавился в Sungero_***_***ReadAccess

3.1.2. Добавил пользователя в исполнители

3.1.2.1. Исполнитель задания добавился в Sungero_***_***ReadAccess после отправки задачи

3.1.3. Удалил задачу

3.1.3.1. Автор задачи и исполнитель задания удалились из Sungero_***_***ReadAccess

3.2. Простая задача с копией (Наблюдатель)

3.2.1. Создал

3.2.1.1. Автор задачи добавился в Sungero_***_***ReadAccess

3.2.2. Добавил исполнителя

3.2.2.1. Исполнитель задания добавился в Sungero_***_***ReadAccess после отправки задачи

3.2.3. Заполнил поле копия

3.2.3.1. Исполнитель уведомления добавился в Sungero_***_***ReadAccess после отправки задачи

3.3. Простая задача от замещаемого

3.3.1. Создал

3.3.1.1. Автор и от кого создавали задачу добавились в Sungero_***_***ReadAccess

3.3.2. Добавил исполнителя

3.3.2.1. Исполнитель добавился в Sungero_***_***ReadAccess

3.3.3. Удалил задачу

3.3.3.1. Автор, замещаемый задачи и исполнитель задания удалились из Sungero_***_***ReadAccess

3.4. Простая задача с выполнением задания замещающим

3.4.1. Создал

3.4.1.1. Автор задачи добавился в Sungero_***_***ReadAccess

3.4.2. Добавил исполнителя

3.4.2.1. Исполнитель задания добавился в Sungero_***_***ReadAccess после отправки задачи

3.4.3. Выполнил замещающим

3.4.3.1. Замещающий добавился в Sungero_***_***ReadAccess после выполнения задания

3.4.4. Удалил замещение

3.4.4.1. Автор задачи, исполнитель и замещающий задания остались в Sungero_***_***ReadAccess

3.5. Простая задача с выдачей прав на главную задачу

3.5.1. Создал

3.5.1.1. Автор задачи добавился в Sungero_***_***ReadAccess

3.5.2. Добавил в панели прав пользователя

3.5.2.1. Пользователь добавился в Sungero_***_***ReadAccess

3.5.3. Добавил исполнителя

3.5.3.1. Исполнитель задания добавился в Sungero_***_***ReadAccess после отправки задачи

3.5.4. Удалил права у добавленного пользователя в основной задачи

3.5.4.1. Пользователь удалился из Sungero_***_***ReadAccess

3.6. Простая задача с подзадачей

3.6.1. Создал

3.6.1.1. Автор задачи добавился в Sungero_***_***ReadAccess

3.6.2. Добавил исполнителя

3.6.2.1. Исполнитель задания добавился в Sungero_***_***ReadAccess после отправки задачи

3.6.3. Создал подзадачу

3.6.3.1. Исполнитель подзадания добавились в Sungero_***_***ReadAccess после отправки подзадачи

3.7. Простая задача с удалением черновика подзадачи

3.7.1. Создал

3.7.1.1. Автор задачи добавился в Sungero_***_***ReadAccess

3.7.2. Добавил исполнителя

3.7.2.1. Исполнитель задания добавился в Sungero_***_***ReadAccess после отправки задачи

3.7.3. Создал подзадачу (черновик)

3.7.3.1. Исполнитель подзадачи не добавиться Sungero_***_***ReadAccess

3.8. Простая задача с удалением подзадачи

3.8.1. Создал

3.8.1.1. Автор задачи добавился в Sungero_***_***ReadAccess

3.8.2. Добавил исполнителя

3.8.2.1. Автор задачи и исполнитель задания добавился в Sungero_***_***ReadAccess после отправки задачи

3.8.3. Создал подзадачу и отправил

3.8.3.1. Автор и исполнитель подзадачи добавились в Sungero_***_***ReadAccess

3.8.4. Удалил подзадачу

3.8.4.1. Исполнитель подзадачи удалился из Sungero_***_***ReadAccess

3.8.5. Удалил задачу (Если есть подзадача, то так просто не удалишь, надо сначала грохнуть подзадачу)

3.8.5.1. Автор задачи и исполнитель задания удалились из Sungero_***_***ReadAccess

3.9. Пользователь участвующий глубоко по иерархии видит все семейство ззу

3.10. Программная выдача прав на подзадачи и задания

3.10.1. Выдали программно права на подзадачу и задание, но пользователь ни задачу ни задание не увидит

3.10.1.1. 1. Создать задачу и отправить 2. Вынести на обложку модуля код: 3. Выдать права в этом диалоге public virtual void Function3() { var dialogs = Dialogs.CreateInputDialog("Access granter"); var selectControl = dialogs.AddSelect<Sungero.CoreEntities.IUser>("Whom grant access", true, Users.Current); var taskIdControl = dialogs.AddInteger("Main task id", false); var assIdControl = dialogs.AddInteger("Main assignment id", false); var needCreateSubtask = dialogs.AddBoolean("Need create subtask", true); if (dialogs.Show() == DialogButtons.Ok) { if (needCreateSubtask.Value.HasValue && needCreateSubtask.Value.Value == false) { if (taskIdControl.Value.HasValue) { var task = Sungero.Workflow.SimpleTasks.Get(taskIdControl.Value.Value); task.AccessRights.Grant(selectControl.Value); task.Save(); Dialogs.ShowMessage(task.Id.ToString()); return; } else if (assIdControl.Value.HasValue) { var assignment = Sungero.Workflow.Assignments.Get(assIdControl.Value.Value); assignment.AccessRights.Grant(selectControl.Value); assignment.Save(); Dialogs.ShowMessage(assignment.Id.ToString()); return; } } if (taskIdControl.Value.HasValue) { var task = Sungero.Workflow.SimpleTasks.Get(taskIdControl.Value.Value); var subTask = Sungero.Workflow.SimpleTasks.CreateAsSubtask(task); subTask.AccessRights.Grant(selectControl.Value); subTask.Save(); Dialogs.ShowMessage(subTask.Id.ToString()); return; } else if (assIdControl.Value.HasValue) { var assignment = Sungero.Workflow.Assignments.Get(assIdControl.Value.Value); var subTask = Sungero.Workflow.SimpleTasks.CreateAsSubtask(assignment); subTask.AccessRights.Grant(selectControl.Value); subTask.Save(); Dialogs.ShowMessage(subTask.Id.ToString()); return; } } Dialogs.ShowMessage("Something go wrong"); }

3.11. Старт задачи с несколькими исполнителями

3.12. Старт задачи с переадресацией задания

3.13. Старт задачи со сменой автора

3.13.1. Создал и сохранил

3.13.2. Сменил автора задачи

3.14. Задача с большой иерархией и выдать сотруднику права на главную задачу, который явно участвует в этой семействе ЗЗУ

3.14.1. Удалили права из главной и У Сотрудника участвующего глубоко в ЗЗУ, остались права

3.14.2. Удалили подзадачу

3.15. Пройти все этапы прикладной задачи

3.16. :white_check_mark: :ballot_box_with_check: Копия задачи

4. :white_check_mark: :ballot_box_with_check: Перекрытие сущностей

4.1. Документы

4.1.1. При выдаче прав добавился в Sungero_***_***ReadAccess гуид базового типа

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

4.2. Справочник

4.2.1. При выдаче прав добавился в Sungero_***_***ReadAccess гуид базового типа

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

4.3. Задач

4.3.1. При выдаче прав добавился в Sungero_***_***ReadAccess гуид базового типа

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

5. Права на вложения в ЗЗУ

5.1. Добавить вложений в простую задачу (документ, справочник, папка, ззу)

5.1.1. После запуска задачи в диалоге выдать разрешающие права

5.1.1.1. :white_check_mark: :ballot_box_with_check: В таблицу Sungero_Content_EDocReadAccess добавятся исполнители задания

5.1.2. После запуска задачи в диалоге выдать права как у автора

5.1.2.1. :white_check_mark: :ballot_box_with_check: В таблицу Sungero_***_***ReadAccess ничего не запишется

5.1.3. После запуска задачи в диалоге не выдавать никаких прав

5.1.3.1. :white_check_mark: :ballot_box_with_check: В таблицу Sungero_Content_EDocReadAccess ничего не запишется

5.1.4. Вложить задание из другого семейства задач

5.1.4.1. Если нет явных прав на это задание, то выходит диалог с выдачей прав

5.1.4.1.1. :white_check_mark: :ballot_box_with_check: После выдачи разрешающих прав, исполнитель добавляется в семейство ззу, откуда взяли задание, а также запись в Sungero_WF_MainTaskReadAccess

5.1.4.1.2. :white_check_mark: :ballot_box_with_check: Если не выдавать права, в таблице Sungero_WF_MainTaskReadAccess ничего не добавится

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

6. :white_check_mark: :ballot_box_with_check: Выключить проверку в config.yml

6.1. Read_Access_Enabled: false

6.1.1. Проверка прав на сущности будут идти по старой схеме (через старые таблицы), но запись все равно будет в таблицы ReadAccess

7. Типы сущностей

7.1. Справочник

7.2. Документ

7.3. Задача

7.4. Папка (которые создаются в веб-клиенте, например создать папку в избранных)

8. Контексты

8.1. :white_check_mark: :ballot_box_with_check: Список

8.2. Результаты поиска

8.2.1. :white_check_mark: :ballot_box_with_check: Расширенный поиск

8.2.2. :white_check_mark: :ballot_box_with_check: Полнотекстовый поиск

8.3. :white_check_mark: :ballot_box_with_check: Отчеты

8.4. :two: Query

8.4.1. Клиентский

8.4.2. Серверный

8.5. :two: Папка

8.5.1. Входящие/Исходящие

8.5.2. Папки

8.5.2.1. Выдача прав на папку

8.5.3. Вычисляемые

8.5.4. Папки потока

8.5.5. Папки поиска

8.5.6. Замещение (Папки потока)

8.6. Виджеты

9. БД

9.1. Старая БД

9.1.1. MSSQL

9.1.1.1. После конвертации появились новые таблицы

9.1.1.1.1. Sungero_Content_EDocReadAccess

9.1.1.1.2. Sungero_Core_DatabookReadAccess

9.1.1.1.3. Sungero_Core_FolderReadAccess

9.1.1.1.4. Sungero_WF_MainTaskReadAccess

9.1.1.1.5. :white_check_mark: Повторная конвертация

9.1.1.2. После конвертации у пользователей остались права на все сущности, которые были до конвертации

9.1.1.2.1. документы с правами

9.1.1.2.2. Справочники

9.1.1.2.3. ЗЗУ с подзадачами (Простые и прикладные)

9.1.2. PG

9.1.2.1. После конвертации появились новые таблицы

9.1.2.1.1. :ballot_box_with_check: Sungero_Content_EDocReadAccess

9.1.2.1.2. :ballot_box_with_check: Sungero_Core_DatabookReadAccess

9.1.2.1.3. :ballot_box_with_check: Sungero_Core_FolderReadAccess

9.1.2.1.4. :ballot_box_with_check: Sungero_WF_MainTaskReadAccess

9.1.2.1.5. :ballot_box_with_check: Повторная конвертация

9.1.2.2. После конвертации у пользователей остались права на все сущности, которые были до конвертации

9.1.2.2.1. :ballot_box_with_check: документы с правами

9.1.2.2.2. :ballot_box_with_check: Справочники

9.1.2.2.3. :ballot_box_with_check: ЗЗУ с подзадачами (Простые и прикладные)

9.2. Новая БД

9.2.1. MSSQL

9.2.1.1. После создания новой бд, в бд есть таблицы

9.2.1.1.1. :white_check_mark: Sungero_Content_EDocReadAccess

9.2.1.1.2. :white_check_mark: Sungero_Core_DatabookReadAccess

9.2.1.1.3. :white_check_mark: Sungero_Core_FolderReadAccess

9.2.1.1.4. :white_check_mark: Sungero_WF_MainTaskReadAccess

9.2.1.1.5. :white_check_mark: Плюс установка прикладной и прогон генератора, с накачкой данных

9.2.2. PG

9.2.2.1. После создания новой бд, в бд есть таблицы

9.2.2.1.1. :white_check_mark: Sungero_Content_EDocReadAccess

9.2.2.1.2. :white_check_mark: Sungero_Core_DatabookReadAccess

9.2.2.1.3. :white_check_mark: Sungero_Core_FolderReadAccess

9.2.2.1.4. :white_check_mark: Sungero_WF_MainTaskReadAccess

9.2.2.1.5. :white_check_mark: Плюс установка прикладной и прогон генератора, с накачкой данных

10. Проверки прав доступа

10.1. Права на тип

10.1.1. Сотруднику выданы права на тип сущности. Например, выданы права на просмотр Договоры

10.1.1.1. В списке договоров видит все существующие договоры

10.1.1.1.1. Sungero_***_***ReadAccess ничего не поменяется, но пользователь увидит все записи

10.2. Права на экземпляр

10.2.1. Сотруднику выданы права на один договор

10.2.1.1. В списке договоров видит тот договор, на который явно есть права

10.2.1.1.1. Пользователь добавится в Sungero_***_***ReadAccess

10.3. Права на тип и экземпляр

10.3.1. Сотруднику выданы права и тип и на экземпляр. Например, права на тип сущности - просмотр, а на один договор изменение

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

10.4. Права по замещению

10.4.1. Настроить через UI

10.4.1.1. Права замещающего передаются замещаемому

10.5. Права по вхождению в роли/группы или пользователю

10.5.1. Роли/пользователю/группе выданы права на тип сущности. Например, выданы права на просмотр договоров

10.5.1.1. Сотрудник входящий в эту роль/группу видит все существующие договора

10.5.2. Специальные права предопределенных ролей

10.5.2.1. Администраторы, аудиторы видят все документы, если на документе нет строго доступа

10.6. Строгий доступ

10.6.1. Проверить работоспособность, пользователь с полными правами может выдавать, удалять, изменять права

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

11. Настройка прав доступа

11.1. Документы

11.2. Папка

11.3. Задача