Реализация Rhino Security для варианта использования "пользователь может видеть объекты только для назначенных ему клиентов" - PullRequest
2 голосов
/ 22 декабря 2009

Мы строим / проектируем новое поколение наших продаж / заказов / CRM система, которая включает в себя такие объекты, как клиент (иерархия клиентов в частности), заказ, промоакция, ... Каждый пользователь системы должен был назначить одного или нескольких клиентов. Пользователи должны быть организованы в форме организационной иерархии. Система должна контролировать доступ к связанным с клиентом объектам в соответствии с текущим пользователем Настройки. Проблема в том, что он должен работать иерархически в как для клиентов, так и для пользователей. Это означает, что если пользователь имеет назначенный клиент X из иерархии, он также должен иметь возможность работать со всеми детьми этого клиента. И по аналогии с пользователи - менеджер должен иметь возможность работать со всеми связанными с клиентом лица, которые разрешены для его подчиненных.

Я бы хотел использовать Rhino Security для ограничения доступа к операциям над сущностями в системе, но я не уверен, что это подходит для этот сложный сценарий. Мое текущее состояние ума таково, что оно должно быть возможно, если я смогу разработать какой-то фоновый процесс (возможно, на основе служебной шины), который сможет генерировать группы объектов для все новые / измененные объекты. Однако это означает, что будет довольно огромное количество групп сущностей без каких-либо хороших намерений. Не будет таких групп, как «клиенты, которые не оплачивают счета» и т. Д., Но просто группы, такие как «клиенты для пользователя X», которые будут содержать все разрешенные клиенты. Там будут некоторые другие операции, которые будут контролируется гораздо более Rhino Security-стандартным способом, как "только Менеджеры могут сделать клиента недействительным ».

Буду признателен за любые мысли по этой проблеме ...

Ответы [ 2 ]

1 голос
/ 20 января 2010

Фоновая обработка Rhino Security + ESB является реальным решением моей проблемы, согласно ответу Айенде на мой вопрос http://groups.google.com/group/rhino-tools-dev/browse_thread/thread/223afddae5cfcd23/6df7f35f8eb29d49

0 голосов
/ 22 декабря 2009

Исходя из перспективы SharePoint, что, как я знаю, здесь не так, кажется, что лучший способ подойти к этому - создать собственную схему безопасности с разрешениями xyz. После чего вы назначаете пользователей в эту группу, чтобы уточнить, что это то же самое, что и использование портала. Один центральный репозиторий для данных с несколькими пользователями, обслуживаемыми соответствующей информацией. Надеюсь, это поможет.

...