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