问题标签 [declarative-authorization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 使用声明式身份验证
我正在尝试使用声明式身份验证来控制对我网站的访问。但是当我使用 filter_resource_access 我得到这个错误。我还试图找出如何使默认角色成为订阅者
“管理员”的未定义方法“名称”:字符串
用户模型
通道控制器
授权规则.rb
错误
ruby-on-rails - 声明式身份验证,无法注册用户
我正在使用声明式身份验证,但是当我单击链接注册用户时,我被告知您不允许查看该页面。我什至在给客人全能时也明白这一点。
授权规则
用户控制器
布局视图
ruby-on-rails - 创建后,设置角色
我正在尝试使用 after_create 将默认用户角色设置为订阅者。但它似乎没有做出任何改变。新用户的角色始终是 [" " ]。
用户模型
ruby-on-rails - declarative_authorization 和用户上下文
我计划在 Rails 3 应用程序中使用声明式授权。我有以下模型关系:
这里的概念是我要将各种数据集分割成不同的上下文。但是,给定用户可能在每个上下文中具有不同的角色——可能是一个上下文中的管理员和另一个上下文中的基本用户。我已经实现了 current_user 和 current_context 用于控制器和视图。
我计划使用 if_attribute 来引用正确数据集的正确权限。但是,问题是当我不能/不应该在模型中引用 current_context(其中定义了 role_symbols)时,如何使 def role_symbols 仅返回与特定上下文中的用户关联的角色。
有任何想法吗?
ruby-on-rails - 设计和 current_user
我有一个 Rails 3 应用程序,我正在尝试实现设计和声明授权。declarative_authorization 的一个重要部分是用户模型中存在“role_symbols”函数。由于我实现角色的方式,我在 User 模型中实现了一个实例方法来跟踪一个值(我们称之为 foo),如下所示:
然后我们将在 role_symbols 方法中使用 foo 的值来限制有效角色,可能是这样的:
问题是当我尝试在控制器中为 current_user 设置 foo 的值时,该值不会保持不变,例如:
是成功的,但是当我检查另一个视图(或控制器)中的值时,current_user.foo 的值是 nil。
current_user 对象不只是一个持久化在 Session 中的 User 对象吗?如果是这样,在 current_user 对象中设置实例值是否有一些锁定?
ruby-on-rails - rails声明性授权,允许控制器的所有操作?
使用 rails 的 delcarative_authorization gem,是否有允许角色访问所有控制器操作的快捷方式?
还不够,因为我的控制器中的控制方法不仅仅是 CRUD。
就像是:
会很完美,但我在文档中找不到它。
ruby-on-rails-3 - 将角色作为我的用户表上的列,还是通过连接表(角色和分配)来做更好?- 导轨 3
你可以在这里看到我的模型:
https://gist.github.com/768947
只是为了解释正在发生的事情,我有几个模型。在我的应用程序的核心,有:项目、阶段、上传、评论、用户。然后是角色和分配来管理用户授权。
我正在使用插件 declarative_authorization & design for login 执行此操作。
所以第一个问题是,在我的用户模型/表中添加一列“角色”并将每个用户的角色存储在那里更好吗?如果我有一个具有多个角色的用户,那么我可以将所有角色存储为一个数组并根据需要循环访问它们。
还是像我现在设置它那样做更好,我使用两个单独的表和一堆连接来设置分配?我只有 4 个角色:设计师、客户、管理员、超级用户。
从计算资源的角度来看,使用列执行每个查询比使用连接“更便宜”的意义上更好,或者差异不是那么显着吗?
我想,我的问题的根源是......现在,如果我想将一个项目分配给 current_user,我只需这样做current_user.projects.each do |project|
并以这种方式循环它们。这是在我完成之后:@projects = current_user.projects
在项目控制器中。这同样适用于我的所有其他模型——除了用户和角色。
但是,如果我想找到一个角色为“客户”的用户,它会很快变得令人费解。还是我把它复杂化了?
任何帮助,将不胜感激。
ruby-on-rails - 是否可以在单个 Rails 应用程序中使用域或子域的 cookie 用户会话
我想在一个多子域应用程序中登录管理员和简单用户。管理员应该有权访问所有子域(即他们的会话应该存储在所有子域都可用的 cookie 中)。用户应该只能访问他们登录的子域。
例如:
admin "administrator" 在域 url (mydomain.com) 或任何子域 (例如 abc.mydomain.com) 登录并保持登录所有子域。因此,他(“管理员”)可以访问 efg.mydomain.com、abc.mydomain.com、mydomain.com 等。
用户“simpleuser”在 abc.mydomain.com 登录。他(“simpleuser”)只能访问此子域(即 cookie 仅与 abc.mydomain.com 子域相关)
我知道可以选择将 cookie 关联到子域或域,但我想在同一个应用程序中混合这种行为。有谁知道一种方法?
这适用于 Rails 3
我不想通过我的应用程序(即通过 cancan 或声明性授权)限制对子域的访问。理想情况下,应通过 cookie 在子域级别阻止访问。我相信这是一种更安全的方法,因为它不必再设置一个软件来控制对站点的访问。
ruby-on-rails - 设计和声明性授权功能测试问题
在使用设计和声明式授权时,我很难让功能测试正常工作。我可以使用设计测试助手来登录用户,然后将 current_user 变量填充到控制器中。但是,一旦我使用 post_with 测试助手进行声明性授权, current_user 就会变为 nil。
任何人都可以举一个例子,说明在同时使用设计和声明性授权时如何编写功能测试?
谢谢
ruby-on-rails - nil:NilClass 的未定义方法“保存”
尝试注册新用户时出现此错误。
NoMethodError(未定义的方法save' for nil:NilClass):
app/controllers/users_controller.rb:49:in
创建'app/controllers/users_controller.rb:48:in `create'