我想知道其他人是如何实现这种情况的。我有一个内部rails应用程序(库存管理,标签打印,运输等)。我正在重写系统的安全性,导致旧的方式变得难以维护(用户表,密码,角色) - 我使用了restful_authentication和角色。它大约在3年前实施。我已经使用ruby-ldap-net实现了AuthLogic来对用户进行身份验证(实际上,这与我以前使用其他框架/语言的方式相比非常容易)。下一步是角色。我已经在Active Directory中定义了组 - 所以我不想在我的rails应用程序中运行单独的角色系统,我只想重用Active Directory组 - 因为系统的那部分已经被维护用于其他目的(共享驱动器) ,备份,PC访问等)
所以我想知道其他人是否有基于Active Directory或LDAP中的组在rails应用程序中实现权限/角色的经验。角色要求也非常复杂。
以下是一个例子:
例如,我有属于AD中的主管组和库存部门的用户,因此我是该用户能够在invetory中运行“高级”任务 - 调整数量,运行报告,但是其他“主管”来自其他离职人员,不应该这样做,也是最高管理层 - 应该能够使用这些报告(无论他们是否属于投资的天气),而不是中层管理人员,除非他们在库存组。系统管理员(域管理员)应该可以不受限制地访问系统,但HR&财务部分,除非他们在人力资源部门(就像你不希望所有系统管理员(一个授权人员除外)看到其他员工的个人信息)。
我看着acl9,cancan,aegis。我想知道在基于AD的系统访问的这种特定使用中是否存在使用一个与另一个的优点/缺点。如果你有良好的经验,建议其他系统。
谢谢!!!
答案 0 :(得分:5)
ActiveLDAP(Documentation,Github)具有您正在寻找的一些功能,具体来说: