• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Как реализовать механизм делегирования

  • Автор темы fedotxxl
  • Дата начала
F

fedotxxl

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

Первое, что нужно обсудить - функционал
Второе - реализация

Что у нас есть:
1. Сложный движок в котором происходят согласование документов (посл / паралл), приходят уведомления, некоторые документы скрыты...
2. Пользователь А, который делигирует полномочия пользователю Б

Что хочет получить пользователь А? Пользователь А хочет перекинуть весь функционал на пользователя Б.

Как это лучше сделать?

1. Нужно ли предоставлять функционал в существующих процессах (документах) (изменить группы доступа, добавить пользователя Б в согласующих)
2. Нужно ли убирать функционал из существующих процессов, если срок делегирования закончился?
3. Каким образом делегировать полномочия - в момент перехода на стадию добавлять человека Б в документ, найдя его в документах-делегирования, или же изменять документ маршрута (т.е. проверка не потребуется)? Правильнее первое (проверка налету), быстрее второе (изменение карточки маршрута)

Что вы считаете по этому поводу?
 
S

Sandr

Во первых дать доступ пользователю Б к документу такой же как у основного пользователя (А), но в другое поле. Пользователь Б не должен быть там явно.. он ведь действует от имени пользователя А.
Во вторых, вычислять полномочия пользователя Б в момент вычисления полномочий пользователя А (когда это у Вас происходит Вам лучше знать)
При вынесении решения пользователем Б добавлять признак, что он это делал с подачи польщователя А.

Проверять не истек ли срок делегирования в момент принятия решения пользователем Б. Если истек - ругать его...

И еще, было бы правильно проверять, а может ли пользователь Б выполнять те действия, которые позволены пользователю А на уровне системы в целом... Может он не имеет права согласовывать вообще...
 
A

Akupaka

Проверять не истек ли срок делегирования в момент принятия решения пользователем Б. Если истек - ругать его...

При чем как можно более грубо, чтобы второй раз лезть желания не было ;)

И еще, было бы правильно проверять, а может ли пользователь Б выполнять те действия, которые позволены пользователю А на уровне системы в целом... Может он не имеет права согласовывать вообще...
если пользователю Б делегировали полномочия пользователя А, то тут следует понимать, что он (Б) должен иметь те же возможности, что и А, независимо от настроек в системе лично для него (Б)... имхо :lol:
 
S

Sandr

если пользователю Б делегировали полномочия пользователя А, то тут следует понимать, что он (Б) должен иметь те же возможности, что и А, независимо от настроек в системе лично для него (Б)... имхо :lol:

Не согласен. Если у пользователя А есть бизнес-роль "согласующий", а у пользователя Б её нет, то он не должен иметь право согласования...
 
F

fedotxxl

Для: Sandr
Не согласен. Если у пользователя А есть бизнес-роль "согласующий", а у пользователя Б её нет, то он не должен иметь право согласования...
Но ведь ему доверили...
Проверять не истек ли срок делегирования в момент принятия решения пользователем Б. Если истек - ругать его...
Не было ответа на вопросы:
1. Что делать с документами, которые были созданы до делегирования полномочий - предоставлять ли доступ / забить?
2. Что делать с документами, в которых полномочия делегированы, но срок делегирования истек
 
V

valmont

1. Что делать с документами, которые были созданы до делегирования полномочий - предоставлять ли доступ / забить?
2. Что делать с документами, в которых полномочия делегированы, но срок делегирования истек

по п.1, если передаются полномочия, то да, канечно, нужно к этим документам предоставлять доступ. т.к. во время работы по замещению всякая информация может потребоваться.
по п.2 срок истек значит истек, полнмочия убираем, с этими документами работает замещаемый сотрудник.
 
F

fedotxxl

Для: all
Получается, что нужен агент что-то типа Admin Process, который будет конопатить поля Readers/Authors и делать некоторые другие вещи?
 
K

K-Fire

<!--QuoteBegin-fedotxxl+28:12:2007, 10:13 -->
<span class="vbquote">(fedotxxl @ 28:12:2007, 10:13 )</span><!--QuoteEBegin-->Для: all
Получается, что нужен агент что-то типа Admin Process, который будет конопатить поля Readers/Authors и делать некоторые другие вещи?
[snapback]91692" rel="nofollow" target="_blank[/snapback]​
[/quote]

По сути да. Если у вас пользователь А прописывается в поля напрямую (как нотес-имя), то иначе это не сделать. Но если же он прописывается через некие группы - тогда проще, добавляем Б в группы и всё сразу работает.

К тому же вопрос важный, каким образом пользовать получает доступ к функционалу. Если допустим есть роль [Согласующий] и у пользователя А она есть, а у Б - нету, то он никак эту функцию и не выполнит. Если же только через поля в документе - тут можно уже как-то работать.
 
F

fedotxxl

Для: K-Fire
Вы про роль в ACL? Думаю, все права через поля раздавать правильнее
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!