【问题标题】:Role based access control (RBAC) in Rails 4 + Emberjs applicationRails 4 + Emberjs 应用程序中基于角色的访问控制 (RBAC)
【发布时间】:2015-02-17 15:49:26
【问题描述】:

我正在使用 Emberjs 的 Rails 4 应用程序中实现基于角色的访问控制。我打算在 rails 代码中使用 Pundit。 Emberjs 有哪些插件可用?我正在检查 ember-simple-auth 但无法理解 https://github.com/simplabs/ember-simple-auth#authorizers

--更新

我在 rails 中使用 devise 进行身份验证,并使用权威人士进行授权。身份验证在 Emberjs 中工作。我的 (rails+emberjs) 应用程序依赖于另一个 rails 应用程序通过 api 获取数据。此外,在我当前的应用程序(rails+emberjs)中,current_user(电子邮件和角色 ID)仅存储在会话中。用户没有 rails/emberjs 模型。我在 emberjs 中使用 env 变量作为

在 app/assets/javascripts/app/env.js.coffee.erb 中

App.ENV =
  SOME_APP_URL: "<%= ENV['SOME_APP_URL'] %>"

我可以使用上述技术从会话中加载 current_user 吗?

【问题讨论】:

    标签: ruby-on-rails-4 ember.js rbac


    【解决方案1】:

    Simple-auth 是对特定用户的 api 进行身份验证和授权。它不处理用户授权。你必须自己处理。

    一旦您处理了身份验证,我建议您通过用户配置文件将权威人士的授权发送给客户端。我使用基于角色的方法,但您可以在没有该级别的情况下进行操作。

    所以每个角色都有以“:”形式(例如“note:update”、“note:create”)保存在 db 中的权威人士授权(我为此使用 PG 数组)。角色被分配给用户,当用户模型被序列化时,授权也是如此。

    在客户端(以及后端,不要忘记),您需要检查每个操作和路由的授权。

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 2014-12-26
      • 2015-02-16
      • 2017-02-06
      • 2014-01-25
      • 2016-10-08
      • 2012-09-14
      • 2015-01-21
      • 2010-09-11
      相关资源
      最近更新 更多