Мне было интересно, как другие люди реализовали этот сценарий. У меня есть внутреннее приложение rails (управление запасами, печать этикеток, доставка и т. д.). Я переписываю безопасность в системе, потому что старый способ стал громоздким в обслуживании (таблица пользователей, пароли, роли) - я использовал restful_authentication и роли. Он был реализован около 3 лет назад. Я уже внедрил AuthLogic с ruby-ldap-net для аутентификации пользователей (на самом деле это было на удивление легко, по сравнению с тем, как я раньше боролся с другими фреймворками/языками). Следующий шаг — роли. У меня уже есть группы, определенные в Active Directory, поэтому я не хочу запускать отдельную систему ролей в своем приложении rails, я просто хочу повторно использовать группы Active Directory, поскольку эта часть системы уже поддерживается для других целей (общие диски , резервные копии, доступ к ПК и т. д.)
Поэтому мне интересно, есть ли у других опыт реализации разрешений/ролей в приложении rails на основе групп в Active Directory или LDAP. Кроме того, требования к ролям довольно сложны.
Вот пример:
Например, у меня есть пользователи, которые принадлежат к группе супервайзеров в AD и в отделе инвентаризации, поэтому я был этим пользователем, чтобы иметь возможность запускать «расширенные» задачи в инвентаризации — регулировать количество, запускать отчеты, однако другие «супервайзеры» из других отделов, не должно быть в состоянии сделать это, также высшее руководство - должно иметь возможность использовать эти отчеты (независимо от того, принадлежат ли они к инвентаризации или нет), но не руководство среднего звена, если они не находятся в группе инвентаризации. Администраторы системы (администраторы домена) должны иметь неограниченный доступ к системе, за исключением части отдела кадров и финансов, если только они не находятся в отделе кадров (например, вы не хотите, чтобы все системные администраторы (кроме одного авторизованного) видели личную информацию другого сотрудники).
Смотрел на acl9, cancan, aegis. Мне было интересно, есть ли какие-либо преимущества/против использования одного по сравнению с другим для этого конкретного использования доступа к системе на основе AD. Предложите другие системы, если у вас есть хороший опыт.
Спасибо!!!