问题标签 [warden]
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 - LocalStorage 中的 Rails 设计/Warden 会话
我正在 Rails 3.2 中开发一个使用 Devise 进行身份验证的 Web 应用程序。这在浏览器中运行良好,但是当您将其保存到主屏幕(使其看起来更原生)时,我遇到了我的问题。
每次您退出“应用程序”时,所有 cookie 和会话都会被清除。因此,下次用户打开应用程序时,他们需要再次登录,然后导航回上次的位置。
我正在寻找替代解决方案,可能使用 HTML5 LocalStorage 或 Token Authenticable?
但我只是不知道从哪里开始。非常感谢您的帮助。
ruby-on-rails - 设备注册后重定向,但用户未登录
我正在将用户设置为在注册后根据嵌套表单参数重定向到子域。但是,当我进行重定向时,用户没有登录。我可以返回并手动登录用户,我可以验证用户是否已创建,只是看起来会话在注册后没有立即创建。
这是我用来重定向用户的方法(在 registrations_controller.rb 中):
顺便说一句,到子域的路由工作正常。
我认为这是跨子域共享会话的问题,因为当我从 url 中删除子域并刷新时我已登录。
我已经尝试将此添加到我的 app/config/initializers/session_store.rb 文件中:
ruby - Errno::ECONNREFUSED:连接被拒绝 - connect(2) test_helper.rb
我是 Ruby 的新手,需要一些帮助来解决问题:我已经被这个错误困住了 2 天。我知道如果我弄清楚连接问题,一切都会完美运行。请帮忙。
#test_helper.rb #test/unit/project_test.rb #堆栈跟踪:ruby-on-rails - 设计忽略我的自定义策略
我想创建一个自定义身份验证策略来访问 API。我遵循了Devise ignoring custom strategy的示例代码。
问题是有效吗?我的 Api 策略中的方法永远不会运行(基于试图撬开它)。
我的代码:
并在设计初始化程序中:
无论我做什么,Devise 似乎总是使用它的默认策略。AFAIK,这应该足够了......
- - - -编辑 - - - -
我需要在我的设计初始化程序的最顶部使用这样的策略:
我知道该策略是在启动时加载的,因为如果我在类中进行 pry 调用,它将启动一个 pry 会话。但是方法中的 Pry 调用永远不会运行。:-S
ruby-on-rails - 我需要在用户尝试注销时显示警告弹出窗口,使用 Warden 回调,Ruby on Rails?
Warden::Manager.before_logout ?我在 config/initializers/devise.rb 中有以下warden回调
在我的应用程序控制器中,我有这个动作,由 before_filter 调用
然后使用我的 java 脚本,我正在尝试显示模式弹出窗口。但显然, session[:logout] 根本没有变成真的。我不能访问由
Warden::Manager.before_logout 在 application_controller.rb 中设置的会话变量吗?
ruby-on-rails - 设计 - 多个用户的单一登录表单
我有两个设计模型,用户和业务;我希望两者都能够使用单一登录表单登录。我正在使用主干 js,并且我有一个自定义视图,因此该视图不是问题。ajax 请求用于登录,它按预期适用于用户,但不适用于企业。
我搜索了谷歌并遇到了一些提到使用 STI 来解决这个问题的解决方案,但是该项目已经完成了很多,我现在无法做出这样的改变。我正在考虑覆盖 Devise 会话控制器,并且:
- 检查给定的电子邮件地址是否为用户,然后使用 Warden 对用户进行身份验证。
- 如果未找到使用该电子邮件的用户,则使用 Warden 对业务模型进行身份验证。
我不知道如何更改代码来实现上述功能,我不知道warden是如何工作的,我需要调整哪些参数来实现上述功能,需要调用哪些函数。谁能指出我正确的方向或提供一个我应该如何继续前进的例子。
谢谢。
ruby-on-rails - 如何检测该用户将被认证?(认证前)
我需要在设计将用户重定向到登录页面之前触发回调,可能是因为authenticate_user!
方法检测到他没有登录。类似的东西:
如果尚未调用,则不应调用它authenticate_user!
。
devise - nil:NilClass 的未定义方法 failure_app
我正在尝试使用 Rails 应用程序中的设计来授予对 Rack 中间件中的 Sinatra 应用程序的访问权限。
我的 config/routes.rb 有:
在我的 Sinatra 应用程序中,我使用:
现在,我收到以下堆栈跟踪错误:
ruby-on-rails - 使用 Rails + Devise,我如何“手动”验证会话 cookie?
我有一个使用 Devise (2.1.2) 进行身份验证的 Rails (3.2.5) 应用程序。
假设我有这个会话 cookie:
有没有一种方法可以“手动”验证它,即通过直接调用 Devise 或 Warden 上的方法来确保它不是伪造的?我在想象这样的事情:Devise::SomeModule.is_session_cookie_valid?(session_cookie)
,但是在查看 gems 的代码时,没有发现任何似乎可以做到这一点的东西。
如果信息session_cookie
不够,我还需要什么?
ruby - 无法在 Sinatra 应用程序中使用 Warden:env['warden'] 返回 nil
我正在编写一个 Sinatra Rack 应用程序,我想使用 Warden 进行身份验证。我正在使用 heroku 的工具带,所以我使用工头来运行我的应用程序。我发现了一些可能应该让这个工作的代码。不幸的是,当我尝试实际访问 Warden env 对象时,它是 nil。
我尝试使用sinatra_warden gem,但它也有自己的错误(可能与这个有关)。
配置.ru:
网络.rb:
配置/warden.rb:
版本:
- 西纳特拉:1.1.0
- 典狱长:1.2.1
- 机架:1.4.1
- 红宝石:1.9.3p194
- 工头:0.60.0
任何想法如何使用我描述的设置的守望者?
(PS出于好奇,env变量到底是什么?)