我正在构建一个项目管理应用程序,我不确定哪个是最好/正确的授权模型,因为我是Rails的新手(以及一般的编程)。这是我想要做的。
我希望能够将“客户端”添加到应用程序,然后将多个项目添加到客户端。我希望能够添加用户(实际上是客户端的代表)来查看客户端多个项目而不是其他客户端。我打算让时间跟踪,注释,注释和图像的控制器都与客户端和客户的项目相关联。
此外,我想设置帐户来控制谁可以拥有一个帐户。我不需要用户自己建立帐户。
这有意义吗?
答案 0 :(得分:4)
答案 1 :(得分:3)
这些(免费)Railscasts应该给你一些思考的食物。对于这类事情,有很多很棒的RubyGems /插件。
答案 2 :(得分:2)
The Ruby Toolbox为您提供工具及其在rails社区中的受欢迎程度的概述(由GitHub上的观察者和分析者评定)。正如您所看到的,建议的插件restful_authentication和authlogic几乎处于同一级别。
答案 3 :(得分:1)
Restful Authentication仍然是ruby on rails上用户身份验证的黄金标准。
答案 4 :(得分:1)
我过去曾使用Authorization plug-in并喜欢它,因为它提供了一些不错的元方法,例如:
user.is_eligible_for_what --> returns array of authorizable objects for which user has role "eligible"
user.is_moderator_of? group --> returns true/false
user.is_moderator_of group --> sets user to have role "moderator" for object group.
user.is_administrator --> sets user to have role "administrator" not really tied to any object.
还有一个全新的RailsCast on CanCan。
答案 5 :(得分:0)
我使用AuthLogic进行身份验证(登录用户并确保他们是他们声称的人)和declarative_authorization进行授权(确保他们可以访问资源)。有关详细信息,请参阅Ryan Bates在AuthLogic和restful_authentication上出色的Railscast。