我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源
我正在寻找一个很好的基于角色的授权解决方案来与Authlogic一起使用。有人有什么好的建议吗?如果可能,请根据您的经验列出一些优缺点。 最佳答案 Acl9与AuthLogic配合得很好:http://github.com/be9/acl9/tree/master 关于ruby-on-rails-与Authlogic一起使用的一些好的角色授权解决方案是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c
我目前一直在研究如何根据我们想要的每个条件来分离CanCan的角色。在我们的应用程序中,有很多类别(例如数学、英语、历史等),每个类别中都有很多类(class)。每个用户可以在每个类别中扮演许多不同的角色。例如,约翰可以是数学的“读者”,这意味着他可以阅读所有数学类(class)。约翰也可以是英语的“作家”,这意味着他可以阅读所有英语类(class),在类别英语中创建类(class),并仅编辑/删除他创建的英语类(class)。如果这些是John仅有的角色,他将无法在导航栏中看到类别历史记录,并且将被拒绝访问历史记录中的类(class)。这些是关系的建立方式:classUser在mod
我有两个模型(项目和主题)。它们都属于具有has_many关联的第三个模型用户(用户有很多主题和项目)。Item和Theme都有_many:images.图像模型是一个多态关联,因此该表具有列imageable_id和imageable_type。如果我同时拥有一个ID为1的项目和一个ID为1的主题,那么该表将如下所示idimageable_idimageable_type------------------------------------11Item21Theme我正在使用declarative_authorization重写我的数据库的SQL查询,以防止用户访问他们帐户之外的项
我只是想比较在Rails中实现ACL时使用的不同解决方案。 最佳答案 我使用授权插件(由BillKatz创建):Rolescanbeauthorizedfortheentireapplication,amodelclass,oraspecificobject.Thepluginprovidesawayofcheckingauthorizationattheclassorinstancemethodlevelusingpermitandpermit?methods.Italsoprovidesenglish-likedynamicme
工具Pundit授权;试验thispullrequest链接到官方Pundit自述文件;ActiveInteraction域服务对象(“DSO”);RSpec2.99.1**项目**项目仓库在Github上;这里正在审查的是pundit-1branch.我遵循了Pundit教程并获得了使用“传统”胖Controller工作的授权;看thePostsController#newaction和itsspec;thePunditApplicationPolicyclass;和thePostDataPolicy管理Posts的Rails模型实例的授权。到目前为止一切都很好。然后我们来到Sess
使用declarative_authorization按角色保护属性的好方法是什么??例如,用户可以编辑他的联系信息,但不能编辑他的角色。我的第一个想法是为不同的场景创建多个Controller操作。我很快意识到随着protected属性数量的增加,这会变得多么笨拙。为用户角色执行此操作是一回事,但我可以想象多个protected属性。添加很多Controller操作和路由感觉不对。我的第二个倾向是围绕特定的敏感属性创建权限,然后使用declarative_authorizations提供的Viewhepers包装表单元素。但是,在我看来,模型和Controller这方面有点模糊。建议
我有一个使用强参数的标准RESTfulController。classUsersController在我的config/initializers中,我有文件strong_parameters.rbActiveRecord::Base.send(:include,ActiveModel::ForbiddenAttributesProtection)当我向CanCan的load_and_authorize_resource添加一个简单的调用时,我得到了1)UsersControllerPOSTcreatewithinvalidparamsre-rendersthe'new'template
我正在为一个组织编写Rails应用程序。每个用户可能有1个或多个角色,并且只能访问特定的Controller操作,具体取决于这些角色。例如,只有admins可以创建、销毁和更新User的某些字段。此外,还有Team,每个teamleader,只有teamleader可以更新有关Team(例如成员列表)。但是,管理员是首先指定团队领导者的人。我的场景的具体细节并不重要,我只是希望我描述的是有许多不同角色和权限的情况。我的问题是:使用什么gem?我的第一个想法是CanCan,但最后一次提交是将近一年前的事了,而且没有提到Rails4兼容性。目前是否有维护的替代方案?
我正在编写一个应用程序,它使用普通的旧Ruby对象(PORO)从Controller中抽象出授权逻辑。目前,我有一个名为NotAuthorized的自定义异常类,我在Controller级别rescue_from,但我很想知道:DoesRails4alreadycome有一个异常(exception)表明某项操作未获授权?我是否通过实现此异常(exception)来重新发明轮子?澄清:引发AuthorizationException不会发生在Controller内部的任何地方,它发生在Controller外部完全分离的PORO内部。该对象不知道HTTP、路由或Controller。