问题标签 [rails-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.

0 投票
1 回答
97 浏览

ruby-on-rails - Rails:如果我通过控制器进行动态路由,这是不好的做法吗?

这是我所做的,我觉得这不是一个好主意,而且它是反模式:

经过身份验证的用户根据用户状态被定向到家庭控制器和控制器中,我将他们定向到不同的路由。如果我这样做会很糟糕:

我考虑过使用CanCan,但我认为这可能是矫枉过正

0 投票
1 回答
842 浏览

ruby-on-rails-4 - 如何理解rails 4中的已验证?(:激活,参数[:id])?

我正在阅读 Michael Hartl 的 Rails 教程,但在第 10 章我无法理解这一行 authenticated?(:activation, params[:id])

根据作者的说法,这一行用于比较activation_digesttoken这意味着令牌将在以下位置可用params[:id]

这就是我感到困惑的地方。是否params[:id]检索用户的ID他们如何将 ID 与activation_digest 进行比较?

但是authenticated?(:remember, cookies[:remember_token])对我来说很有意义。任何人 ?您的帮助将不胜感激!

相关代码如下所示:

account_activations_controller.rb

路线.rb

用户.rb

0 投票
2 回答
127 浏览

ruby-on-rails - 从头开始 Rails 身份验证,跳过当前密码验证

我有一个从头开始的身份验证系统,当用户单击“编辑配置文件”时,无论他想编辑哪个字段,都必须输入当前密码。

当用户想要更改他的密码时,我如何才能调用身份验证或使用某些上下文模型验证?

0 投票
1 回答
229 浏览

ruby-on-rails - rails 4 设计错误:SQLite3::SQLException:表用户没有名为密码的列

这真的很奇怪。我已经使用了数百次 Devise 并且从未收到此错误。这是我的模型:

这是架构:

我进入 rails 控制台并输入:

不知何故我得到了这个错误:

怎么了?我已经安装了devise_token_auth gem,但还没有实现它,所以我不知道它能做什么。

0 投票
0 回答
266 浏览

ruby-on-rails - OmniAuth open_id 注销未按预期工作

我正在为我的 Rails 应用程序使用“omniauth”和“omniauth-openid”gem。登录按预期工作,它在从 openId 提供者回调后创建一个新会话。问题在于注销。

在我的控制器中,我有这个代码来破坏会话。

我的注销路线正在调用此操作。当我注销时,我看到会话中的用户按预期设置为 nil。现在,当我输入主页 URL 时,我的辅助方法正在检查用户是否已经登录,此时它返回 false 并按预期重定向到“/auth/open_id?origin=request.url”。问题从这里开始,现在我什至在提供凭据之前,提供者发布回调并与同一用户创建新会话。我究竟做错了什么?

0 投票
1 回答
354 浏览

ruby-on-rails - 在 Rails 中跳过身份验证方法

我有一个 Sessions 控制器,它需要使用User 模型中定义的has_secure_password的 .authenticate 方法创建会话进行身份验证,如下所示:

编辑:

会话控制器

现在我创建了一个管理员/用户控制器,我想执行数据库操作而无需输入密码密码确认字段。在当前情况下,我收到错误消息说“密码和密码确认不能为空”

我应该如何进行?谢谢你。

0 投票
1 回答
48 浏览

ruby-on-rails - 延迟 Web gem 的自定义身份验证检查?

目前我delayed-web在我的项目中使用 gem。我有多个用户角色,我不希望角色是销售的用户可以访问页面延迟的 Web 后台界面。我已经有一种方法来检查我的应用程序控制器中的身份验证。但是,我不知道如何使它在路由文件中工作。任何建议将不胜感激。

更新:我没有使用 Devise gem。我推出自己的身份验证。

application_controller.rb

路线.rb

0 投票
1 回答
334 浏览

devise - 使用组限制 rails 5 设计 ldap auth 并设计 4.3

我在限制组成员的访问时遇到问题。我的应用程序是安装了 devise 和 devise_ldap_authenticable gem 的 Rails 5 应用程序。

这是我的 ldap.yml

我的设计.rb

我尝试了所有组合,但没有任何效果。我更改了 connection.rb 的第 174 行

或者

但什么也没发生,我需要解决这个问题!

谢谢大家的回复

0 投票
0 回答
36 浏览

wordpress - 使用 WordPress Cassava CAS 服务器进行 Rails APP 用户身份验证

在 WP 中使用 Cassava CAS 服务器插件对 Rails 应用程序中的用户进行身份验证。

在 Rails 方面:

在验证步骤:

https://www.example.com/wp-cas/proxyValidate?service=http%3A%2F%2Flocalhost%3A3000%2Fusers%2Fservice&ticket=ST-XXXXXXX

WordPress 回复:

也许有人知道任何解决方案?

我可以使用 Plugin: wpCAS Server ,但在这种情况下,我的 rails 应用程序只获取 WP user_id ,我希望通过电子邮件将它们合并。

0 投票
2 回答
1543 浏览

jwt - Next-Auth with Provider.Credentials:当 API 已经返回 JWT 令牌时如何实现?

  • 我有一个 NextJS 页面,我尝试在其中实现 Next-Auth。
  • 我使用凭据登录到我的 Rails API。
  • 我的 API 正在返回(已经)一个 JWT-Token。(所以 NextAuth 不能创建它)

在这种情况下如何实施Provider.Credentialsfor [...nextauth].js

流程图” Next request ---> Next API (with Next-Auth) ---> Rails API (returning Token)

目前我有这些options

在浏览器中设置了 session_token,但该内容是我没有设置的(随机的?)。如果不是来自我的令牌,这些内容来自哪里?

我的 Rails API 令牌内容:

Next-Auth API 令牌内容:

我是否必须解码我的 API 令牌并在 Provider.Credentials 函数中重新组合?

我实施 Next-Auth 以提供更多的身份验证,如 Twitter 和 Co,但也使用“useSession”而不是构建我自己的所有东西(不会重新发明轮子)。