问题标签 [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 - 功能测试期间身份验证失败
我有一个正在开发的 Ruby on Rails 应用程序,但我的功能测试遇到了一些问题。特别是,当我通过具有类似凭据(相同角色等)的用户登录时,我在测试期间不断被拒绝访问可以在浏览器中访问的页面。例如,下面是控制器测试中的代码:
(显然,这些并不是我真正想要检查的所有断言,但它们证明了正在发生的事情。)
对于它的价值,上述测试失败并引发以下异常:
同样,正如我所说,当您实际运行应用程序时,一切正常,它只是让测试工作(尽管也许应用程序只是偶然工作,谁知道呢?)。
ruby-on-rails-3 - 为什么我认为我公开的视图仍然提示我登录?- Rails3 + decl_auth
这是我的authorization_rules.rb
:
这是我的paying_users.rb
控制器:
这是我routes.rb
的,反正相关部分:
当我转到它时,myapp.com/paying_users
它仍然会重定向到我的登录页面,即使我不希望它这样做。
我该如何解决?
使用 declarative_authorization 处理授权。
ruby-on-rails - 在 Rails 应用程序中拒绝访客访问
我想完全锁定 Rails 应用程序,以便拒绝所有未明确授权给特定用户角色的路由 (403)。
我继承了这个应用程序,所以我对框架的理解很差,但目前看来我正好相反:除非我明确关闭它,否则一切都是开放的。
我有一个 authorization_rules.rb 文件,我没有给来宾角色任何权限,但我仍然可以在不登录的情况下访问页面。我想我可以逐页进入并确保页面需要授权(filter_access_to ?) ,但我可能会错过一个。我怎样才能关闭一切,然后只在我明确允许的地方打开访问?
这是使用 Rails 2.3.5。
authorization - 为 WIF 创建一个自定义授权提供程序,允许针对唯一项目进行身份验证
我们正在实施联合身份管理,并且存在用户需要针对唯一标识的项目进行身份验证的场景。例如,Bob 可能对记录 12345、34444、23443 和 23443 具有读取权限,而 Jane 可能对记录 12345、34444 和 23443 具有读取/写入权限以及对记录 56445 的读取权限。
我有两个问题:
假设某人可以访问一百或一千个单独且唯一的记录。使用基于声明的安全性,我了解传入的安全令牌将包含所有这些声明。代币的大小会成为问题吗?
我没有看到很多关于创建用于管理授权的管理系统的指导,即在我们的案例中,将用户分配给经过身份验证的记录。我看到了很多关于尽可能使授权声明性的建议,但没有太多关于在不可能时该怎么做的建议。
非常感谢任何建议或方向。
ruby-on-rails - 为什么 declarative_authorization 会破坏我的控制器的功能?- 导轨 3
我有一个Coupons
有两个动作的控制器。
在我的视图中调用生成操作,如下所示:
我的config/authorization_rules.rb
样子是这样的:
以上所有抛出的错误都是这样的:
但是,一旦我将其更改filter_resource_access
为filter_access_to :all, :except => :generate
它就不会再给我错误并且有点工作。
即它会生成一些我正在寻找的优惠券代码,但它不包括视图输出中的plan_id 编号或天数。
这是为什么?我究竟做错了什么?
编辑1:顺便说一句,它确实限制了正确的人......即只有指定的角色才能查看coupons index view
. 所以过滤器部分起作用。
ruby-on-rails-3 - declarative_authorization Authorization.current_user 错误
我已经设置了 authlogic 并想使用 declarative_authorization。在 Ryan Bates 的 railcast #188 中,他使用
before_filter {|c| Authorization.current_user = c.current_user}
If I do the same I get a error:
current_user 方法在应用程序控制器中并且是私有的(如在 Authlogic 设置示例中),如果我将其设为公开,则此方法有效。如果我只是说 current_user (current_user 方法也是一个助手)而不是之前过滤器块中的 c.current_user ,它也可以工作。
那么如果我这样做真的可以before_filter {Authorization.current_user = current_user}
吗?
ruby-on-rails - Rails 中的对象级授权数据库结构
我正在编写一个 Rails 应用程序,它需要在对象级别进行非常细粒度的授权。其他系统使用诸如 acl9 或 declarative_authorization 之类的插件,但我想实现自己的。我想到了以下数据库结构,想知道这是否会偏离 Rails 的最佳实践。
欢迎任何指针/建议或潜在问题。
ruby-on-rails - Rails 声明式身份验证失败
我们在 CREATE 和 UPDATE 上的声明式身份验证出现错误。我们不确定为什么,因为在错误中它显示没有用户经过身份验证,并且会话以某种方式丢失:
`Authorization::NotAuthorized in CartypesController#update
没有为 # (角色 [:guest]、特权 [:update]、上下文 :cartypes)找到匹配的更新规则。`
角色“backoffice”在 authentication_controller.rb 中具有权限:has_permission_on :cartypes, :to => [:index, :show, :new, :create, :edit, :update, :destroy, :delete]
在 stackoverflow 中有一个类似的问题:Link to Stackoverflow Question
我们是 Rails 新手,第一次尝试过,其他显示和列表工作正常..(GET 操作)
任何帮助表示赞赏...谢谢。
编辑:我们能够解决这个问题,因为我们在讨论模型安全性时发现关于“声明性授权”的文档不是那么清楚!如果您仔细阅读,在使用模型安全性时需要将:## Heading ##Authorization.current_user 设置为请求的用户(在 application_controller.rb 中)。对于 rails-n00bs 可能不太清楚......
c# - PageLoad 的 PrincipalPermission
我是使用 Asp.NET 成员功能的新手,我想知道使用如下代码拒绝访问整个页面是否是一个好习惯:
我怀疑这不是做事的好方法,但我想知道为什么!
谢谢。
ruby-on-rails - Rails 可配置的每个角色/crud 操作的授权
我正在使用一个已经使用 declarative_authorization 来处理用户权限的 Rails 2.3 应用程序。每个用户属于一个组(没有花哨的角色),对某些模型具有权限,主要是常规的 CRUD 操作,但也有一些特殊的操作。这一切都适用于 declarative_authorization,它通常是开箱即用的模式。
我们现在希望允许管理员针对模型类型设置特定用户组的权限。例如,我们创建一个新组 Foo,为其分配一些用户,然后用复选框决定组 Foo 中的用户是否可以 c/r/u/d 模型 Bar 的对象。
我以前用过acl9,我想我知道我怎么能做到这一点。我最近一直是CanCan的粉丝,但我不明白如何轻松做到这一点。如果 declarative_authorization 可以做到这一点,我会坚持下去,但我准备硬着头皮切换。
什么插件是实现这一目标的最佳方式?有没有办法让 declarative_authorization 完成这项工作?使用 CanCan 的优雅方式?我应该注意什么问题,例如数据库性能?
我可以说服我将应用程序升级到 Rails 3.1,但我更愿意找到与 2.3 兼容的解决方案。
我见过一些类似的问题,但没有令人满意的答案 Rails Dynamic Role-Based Authorization plugin?
而这个,对于cancan https://github.com/ryanb/cancan/wiki/Role-Based-Authorization