【发布时间】:2010-03-13 20:26:05
【问题描述】:
我想知道其他人是如何实现这个场景的。我有一个内部 Rails 应用程序(库存管理、标签打印、运输等)。我正在重写系统上的安全性,导致旧方法维护起来很麻烦(用户表、密码、角色)——我使用了 restful_authentication 和角色。它是在大约 3 年前实施的。我已经使用 ruby-ldap-net 实现了 AuthLogic 来对用户进行身份验证(实际上这非常容易,与我之前在其他框架/语言上的挣扎相比)。下一步是角色。我已经在 Active Directory 中定义了组 - 所以我不想在我的 rails 应用程序中运行单独的角色系统,我只想重用 Active Directory 组 - 因为系统的该部分已经为其他目的而维护(共享驱动器、备份、PC 访问等)
所以我想知道其他人是否有在基于 Active Directory 或 LDAP 中的组的 Rails 应用程序中实现权限/角色的经验。此外,角色要求也相当复杂。
这是一个例子:
例如,我的用户属于 AD 中的主管组和库存部门,所以我是那个能够在库存中运行“高级”任务的用户 - 调整数量,运行报告,但是其他“主管”来自其他部门不应该这样做,高层管理人员也应该能够使用这些报告(无论天气它们是否属于库存),但不能使用中层管理人员,除非它们在库存组中。系统管理员(域管理员)应该可以不受限制地访问系统,除了人力资源和财务部分,除非他们在人力资源部门(比如你不希望所有系统管理员(除了一个授权的管理员)看到其他人的个人信息员工)。
我看了acl9,cancan,aegis。我想知道在这种基于 AD 的系统访问的特殊用途中,使用一种与另一种相比是否有任何优点/缺点。如果您有很好的经验,请推荐其他系统。
谢谢!!!
【问题讨论】:
标签: ruby-on-rails ruby active-directory permissions ldap