问题标签 [clearance]

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 回答
178 浏览

ruby-on-rails - 清仓宝石 | 在 Rails 5 中关闭浏览器后使会话过期?

用户关闭浏览器时如何自动退出?清除 gem 中是否有任何配置更改可以实现这一点。

0 投票
1 回答
64 浏览

ruby-on-rails - 如何在通过 Rails 中的 Clearance 注册时创建帐户并将其分配给用户

Clearance 自动创建具有唯一 account_id(不必是 UUID)的“帐户”并将其分配给新用户注册时的最佳方法是什么?

我需要延长许可用户注册表单和用户控制器来处理这个问题,但我无法让它工作。

这应该是注册时的 before_filter 还是用户创建操作的一部分?


更新:添加一些代码以供参考...

0 投票
0 回答
94 浏览

ruby-on-rails - 如何使用清除库覆盖rails中的url_after_denied_access_when_signed_out方法来更改重定向url?

我正在为我的 ruby​​ on rails 应用程序身份验证使用清除库,但我需要使用我的模板登录自定义视图,我已经覆盖了这样的会话方法,它可以工作,但不适用于 url_after_denied_access_when_signed_out 方法。我还想知道如何将使用 flash 的登录错误输入重定向到我的自定义登录页面

0 投票
1 回答
341 浏览

ruby-on-rails - 为多租户 Rails 应用程序建模,使其易于维护

我正在构建一个使用共享数据库的多租户 Rails 应用程序,其中数据通过将所有内容限定到每个帐户(类似于Basecamp 3)来隔离数据,而不是使用单独的表和子域。我正在采用的方法在此处进行了描述。

每个帐户都有自己的数据(例如产品、库存)和许多具有不同角色的用户(例如帐户所有者、员工、客户等)。我正在使用Clearance进行用户注册和登录。

似乎有两种方法可以对这样的应用程序进行建模:

  1. 帐户所有者注册并创建他们的帐户有点像创建个人资料。我会通过注册表单上的嵌套字段创建帐户。一切都像这样从帐户所有者继承... 在此处输入图像描述

  1. 或者,当新用户注册时,会创建一个新帐户并与该用户关联(这是否应该通过回调发生?)。一切(例如产品和其他用户,如员工或客户)都继承自帐户,而不是帐户所有者。帐户所有者只是属于该帐户的另一个用户。

似乎选项 2 是更简单的解决方案,但是当新用户通过 Clearance 注册时,我无法创建帐户。我已经在这里详细介绍了这个问题,但我担心我使用选项 2 为我的应用程序建模的方式并不理想。

这些方法中的哪一种最容易设置和维护?或者,是否有另一种方法来模拟我所缺少的?

因为我最终希望网站有一些用户是客户,所以我应该采取使用子域的方法(比如 Shopify?)。

0 投票
1 回答
147 浏览

ruby-on-rails - 如何在用户完成帐户设置之前锁定整个 Rails 应用程序

我有一个使用Clearance进行注册和登录的 Rails 应用程序。注册后,用户将被重定向到accounts/new以完成其帐户设置。帐户belongs_to用户和用户has_one帐户。(Account 和 User 模型是分开的,因为有一些属性,例如我不想放入 User 模型中的“公司名称”。)

accounts/new如果他们在创建帐户之前尝试访问营销页面、注册和登录页面以外的任何内容,我想锁定应用程序中的所有内容并将它们重定向到。

我认为将 a 添加before_action到 ApplicationController 是正确的方法,然后在创建帐户之前使用他们需要访问:skip_before_action的任何controller#action内容(例如 /signup 或 /login 或营销页面)。

这似乎是正确的方法,因为如果用户尚未创建帐户,则默认情况下整个应用程序将被锁定。通过根据需要显式使用 using :skip_before_action,似乎不太可能在应用程序中错误地创建漏洞。

但是我无法before_action在 ApplicationController 上工作,因为当我访问 /signup 之类的页面时,我不断收到此错误:

我正在尝试做这样的事情:

当我在 AccountsController 中并只是重定向我的accounts#new操作时,该语法有效,但现在我无法弄清楚如何在整个应用程序中获得相同的行为。注意:current_user是 Clearance 提供的一种方法。

执行此操作的“Rails 方式”是什么?

0 投票
1 回答
108 浏览

ruby-on-rails - 如何设置来自 gmail 的密码重置电子邮件并获得许可?

我正在尝试创建一个清除密码重置电子邮件以从我创建的 gmail 帐户发送。当有人点击“重置密码”时,我需要做什么才能完成此操作并发送密码重置电子邮件?我已经设置

对不起,如果这是一个愚蠢的问题,我对轨道和间隙还是新手。

0 投票
0 回答
73 浏览

ruby-on-rails - 从 Rails 6 beta1 升级到 Rails 6 beta 2 后清除登录和登录重定向中断

我在使用 Rails 6 beta 1 开始新的应用程序上使用Clearance gem进行身份验证。一切正常,但是当我尝试升级到 Rails 6 beta 2 时。

我还尝试了最新的 Clearance 稳定版本以及 Clearance 2.0.0.beta1,我也遇到了同样的问题。

以下是关于Rails beta 1 和 beta 2 之间变化的注释。

这是 beta 1 和 beta 2 之间的提交。

不过,我无法确定其中哪些可能破坏了我的 Clearance 登录。

我可以在控制台中验证用户是由 Clearance Sign up 表单创建的,所以它看起来只是登录。

我确实将路线从切换get '/login' => 'clearance/sessions#new', as: 'sign_in'get '/login' => 'sessions#new', as: 'sign_in',但又将其切换回来。

任何有关Rails beta1 和 beta2 之间可能导致此错误的变化的指针将不胜感激!

0 投票
0 回答
157 浏览

ruby-on-rails - current_user nil 同时使用有权限的omniauth

这是我的会话控制器

出于某种原因current_user,当重定向到admin_dashboard_index_path. 我require_login在所有其他控制器中都有。因此,AD 登录进入无限循环。我是否缺少任何配置?我所有其他控制器都继承自AdminController哪个继承自ActionController::Base

0 投票
1 回答
198 浏览

ruby-on-rails - BCrypt InvalidHash 清除密码重置

我是 Rails 的新手,来自 PHP + Python 背景。我正在基于生产数据库转储在我的机器上设置开发环境。

我无法登录我的开发环境,因为无论用户或密码如何,每个用户登录都失败并出现 BCrypt InvalidHash 错误。

我在一个在线 BCrypt 网站上根据我的密码检查了users.encrypted_password哈希值——它匹配正确。

我写了一个快速脚本来重置所有密码,看看我的 Fedora 机器和 prod Heroku 配置之间是否存在一些奇怪的配置差异:

但这仍然因相同的 InvalidHash 错误而失败,堆栈跟踪如下:

clear.rb 配置:

型号详情:

我究竟做错了什么?似乎我的开发环境缺少某种配置。

0 投票
0 回答
64 浏览

html - 提交表单/聊天消息时出现 404 错误

我是 Ruby on Rails 的新手,我正在尝试学习本教程(https://scotch.io/tutorials/asynchronous-chat-with-rails-and-actioncable?fbclid=IwAR19UbyiXHkG8OvSrZ1jXJr5gFK8lnjkqEFdMxaYYMyFisKmwlAXQbyx_GU)。我的 Clearance gem 设置很好,提交消息的表单正确显示,但如果我尝试提交消息,我会收到 404 错误。

Full error from inspect element: rails-ujs.self-2b8935521e2301b06b45bd42e623eb0c0acf76c3a6ba383b7429c6a2884f8c23.js?body=1:217 POST http://localhost:3000/ 404 (Not Found) Rails.ajax @ rails-ujs.self-2b8935521e2301b06b45bd42e623eb0c0acf76c3a6ba383b7429c6a2884f8c23.js?body =1:217 Rails.handleRemote @ rails-ujs.self-2b8935521e2301b06b45bd42e623eb0c0acf76c3a6ba383b7429c6a2884f8c23.js?body=1:573 (anonymous) @ rails-ujs.self-2b8935521e2301b06b45bd42e623eb0c0acf76c3a6ba383b7429c6a2884f8c23.js?body=1:174

意见/聊天/index.html.erb