问题标签 [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 - 典狱长:续订选项
我正在使用 devise (1.5.3) 和warden (1.1.1),我不需要在用户登录/注册后更新 session_id
https://github.com/hassox/warden/blob/master/lib/warden/proxy.rb#L160
转储选项:
如何配置 devise/warden 不将 options[:renew] 设置为 true ?
rack - Rack Warden:我如何访问传递给失败的消息!方法?
当 Warden 中的身份验证策略失败时,可以将消息传递给该fail!
方法。如何在我的默认失败应用程序操作中访问此消息,以便我可以将其显示在 Flash 消息中?我试过request.env['warden'].message
了,但是在查看了Warden::Proxy
这个变量的代码之后,它只是为获胜策略设置的。想法?
ruby-on-rails - 使用“记住我”选项注销用户时设计使用 record=nil 调用的 before_logout 钩子
我正在使用 Devise 2.0.4(带有 devise-neo4j)、Warden 1.1.1、Rails 3.2.3。
当我在未选中记住我选项的情况下登录时,我可以毫无问题地退出。
但是,当我使用记住我选项登录时,我无法退出。
挖掘代码我发现devise-2.0.4/lib/devise/hooks/forgetable.rb
( Warden::Manager.before_logout do |record, warden, options|
) 中的 before_logout 钩子是用record => nil
.
我不确定是 Devise 的 bug,Warden 的还是我的……</p>
堆栈跟踪如下:
ruby-on-rails - 使用 token_authenticateable 时,使用多个范围登录的用户进行设计
我正在使用具有多个范围(在本例中为用户范围和管理员范围)的 Devise,并且管理员能够使用Devise wiki 上的方法“成为”用户。这很好用,除了我有一个特定页面需要使用身份验证令牌,这会导致在用户和管理员范围内登录的会话出现问题。该页面向控制器生成 POST,该控制器要求用户使用用户身份验证令牌登录。POST 成功,但之后,管理员范围已注销。(意味着 admin_signed_in? 返回 false。)其他页面执行 POST 到同一控制器而不需要 auth 令牌按预期工作,而无需注销 admin 范围。
我怀疑 token_authenticable 发生了一些事情,其中除与该特定令牌关联的范围之外的任何范围的身份验证都被注销。我在设计 gem 源中搜索了对设计 sign_out 和warden logout 方法的引用,这些方法可以作为 token_authenticable 功能的一部分调用,但找不到任何东西。
Devise 1.3.4 正在发生这种情况。任何帮助表示赞赏。
ruby-on-rails - 为什么 Warden/Devise 在登录身份验证失败时附加资源名称?
我一直在疯狂地搜索这个,到目前为止还没有运气。
到目前为止 sign_in 和 sign_out 工作正常。他们重定向到正确的行动。我的问题是登录失败时。我被发送到一个看起来像空白的 html 页面,显示“无效的登录名或密码”。由create 操作呈现或由 create操作呈现的文本。AFAIK创建应该只在失败时重定向或呈现。我有一个自定义控制器,我拥有此处列出的设计代码的唯一原因是查看行为发生的位置。我现在真的只需要继承行为,因为我不想在身份验证后重定向到自定义路径。
日志内容如下:
这是我的控制器:
我的路线如下:
我确定它没有通过
身份验证失败时的线路
资源名称似乎在监狱长失败时以某种方式附加到登录路径。例如 /login.user 而不是 /login
任何帮助将不胜感激,在此先感谢。
Rails 3.2、Devise 2.0.4、机架 (1.4.1)、ruby 1.9.3
ruby-on-rails-3 - 防止在 Rails 3.2.2 上为 RESTful api 创建会话
如何防止会话存储在 JSON/XML 调用上创建会话?
我的问题是我将会话保存在数据库中,并且它被多个 api 调用淹没。
我正在使用 Rails 3.2.2 和 Devise 进行身份验证。
ruby-on-rails - 带有 Devise 和 rspec 的 Rails 3:Warden 测试助手不可靠
我有一个使用 rails 3.2 和 Devise 的应用程序。我有一个使用 rspec 和 Capybara 的请求测试套件。
我试图在我的登录助手中使用 Warden 测试助手,而不是让 Capybara 填写登录表格并提交。由于我的测试套件的大小和复杂性,这会在我的测试运行时节省超过一分半钟。
在我的配置中是:
在上下文中:
但是,当使用这些配置运行测试套件时,几乎每个测试运行都有一个不同的随机失败请求规范,因为页面呈现为好像用户没有登录一样。(具体来说,由user_signed_in?
条件控制的链接)
我的问题:有没有其他人遇到过这样的不可靠性,如何缓解?
ruby-on-rails-3 - 当我尝试通过 ajax 进行身份验证时,Warden 策略中的参数为空
我正在尝试在我的 rails 应用程序中使用 Warden 进行身份验证。如果我通过 POST 请求以常规形式使用它,它工作正常。但是当我将它移到 Backbone.js 时,我发现验证了!方法总是调用我的失败应用程序。
我在身份验证中放置了一些日志记录!方法,发现params hash为空。像那样:
它生成一个空输出: Warden 内部的参数:{}
同时我可以在 env['warden'].authenticate 之前看到控制器中的参数!叫做。我只能猜测我的参数去了哪里。我究竟做错了什么?
ruby-on-rails-3 - 在功能性 Rails 测试中为 authenticate_user 引发设计守望者错误
我有一个资源,其中新操作需要用户登录才能查看。如果用户在未登录的情况下尝试创建新资源,他们将被重定向(302'd)到登录页面。我的功能测试如下所示:
堆栈跟踪看起来像这样:
在新操作之前,我有一个 before_filter 来验证用户。
我明白为什么要进行身份验证用户!失败了,但我不明白为什么它会抛出错误。它不应该像在 webapp 中那样运行吗?将用户重定向到登录页面?
谢谢。
ruby-on-rails-3 - 不能用康康
我正在关注 cancan 的 rails casts 第 192 集 (http://railscasts.com/episodes/192-authorization-with-cancan?autoplay=true)。
我有 ruby 1.9.3 和 rails 3.2.3
我的 gem 文件有这个内容
在 environment.rb 文件中我添加了
当我运行 bundle 命令时,我看到了这个......
现在我的问题是:当我跑步时:
那为什么我会看到这个:
以及在我的 gem.lock 文件中为什么它显示...