warden相关内容

设计 - 使用 Ajax 登录

这里是否有可能修改设计 SessionsController 以进行 ajax 通信? 编辑 我找到了解决方案,并将其发布到答案中,谢谢 解决方案 1.生成设计控制器以便我们可以修改它 rails g devise:controllers 现在我们在app/controllers/[model] 目录 中拥有所有控制器 2.编辑routes.rb 让我们设置 De ..
发布时间:2022-01-07 17:20:25 前端开发

在sign_in后访问新的session_id

我正在使用设计 &覆盖 SessionsController#create 以根据特定条件跟踪登录. sign_in(user) 前 session[:session_id] 的值即使在 sign_in(user) 执行后也是一样的. 我想将新的 session_id 存储在数据库中以跟踪用户.但无法访问它.如何获得? 在找的时候,发现Devise使用了Warden的set_us ..
发布时间:2022-01-07 17:15:41 其他开发

使用 Devise 时如何构建经过身份验证的路由?

在我的问题 如何当用户未登录 rails 时有 root 视图吗? max 回答说我们可以使用 authenticated 使路由仅在某人通过身份验证时可用.我有一个问题,我该如何构建这个: Rails.application.routes.draw 做devise_for : 用户认证:用户做# 当经过身份验证时,允许对学生进行所有操作资源:科目做资源:学生结尾结尾# 当不仅允许学生阅读时资源 ..
发布时间:2022-01-07 17:07:59 其他开发

Sinatra Warden 与使用 Devise 的现有 Ruby on Rails 应用程序

我正在尝试拆分我当前的 Ruby on Rails 3 网络应用程序及其网络服务 (API).我的 web 应用程序在 Heroku 上运行,并将 API 实现为我的应用程序中的命名空间路由.例如 /events 返回一个 HTML 页面,/api/v1/events 返回一个 JSON 数据. 根据一些最佳实践,我想要将它们拆分为两个不同的应用程序.我选择了 Sinatra 来实现 API ..
发布时间:2022-01-07 17:00:30 其他开发

主动管理员身份验证与用户身份验证冲突

Active Admin 是用于在您的应用程序中拥有管理仪表板的 gem.它使用 Devise 来登录用户并为管理员创建一个单独的 admin_user 模型.我的应用程序已经使用 devise 并将其用户作为 user 模型.自从我开始使用活动管理 gem 以来,在我的路由文件中,即使我的用户已登录,以下行仍然解析为 home#index 而不是 users#dashboard.这曾经在登录用户 ..

Ruby on Rails 登录后设计代码

我有一个使用 Devise 登录的 RoR 应用程序.创建新用户记录时会执行一些代码,将其作为 after_create 调用/宏/任何内容放入 user.rb 文件中.我需要在每次登录后运行此代码,而不是在创建新用户时运行. 通过一些谷歌搜索,似乎一种选择是在 devise.rb 代码中放置 Warden 回调.我的问题是: 这是正确的,和/或有更好的方法吗? 如果这是正确的方法. ..
发布时间:2022-01-07 16:33:20 其他开发

在控制器测试中存根监狱长

我在测试控制器和使用 Warden 时遇到问题. 所有示例都指向存根 request.env['warden'].当我调用 env['warden'] 时,这会导致我的控制器出现问题,然后返回 nil. 举个粗略的例子,使用这个: request.env['warden'] = double(Warden, :authenticate => nil,:认证!=>零,: 认证?=>错误 ..
发布时间:2022-01-02 10:04:04 其他开发

如果用户未通过 Devise 进行身份验证,则重定向到登录页面

我正在使用 Devise 和 Ruby on Rails. 如果未经身份验证的用户尝试访问需要身份验证的页面,推荐将其重定向到 session#new 页面的方法是什么? 现在我收到一条错误消息,指出没有路由与他们尝试访问的路由匹配(导致生产中出现 404 错误). 解决方案 只需将此方法添加到 application_controller.rb 受保护定义身份验证用户!如 ..
发布时间:2021-12-19 20:07:21 其他开发

配置 Warden 以在 RSpec 控制器规范中使用

我能够使用 Devise 的 sign_in 方法在我的控制器规范中登录用户.但是现在我要从我的应用程序中删除 Devise,我不太确定如何单独使用 Warden 来获得类似的功能. 我应该如何设置 spec/spec_helper.rb 和相关的 spec/support/*.rb 文件,以使 Warden 在控制器规格内充分运行?> 我已经尝试在 spec/support/warden ..
发布时间:2021-12-12 11:07:21 其他开发

Sinatra中间件中的访问会话

我正在研究Sinatra项目,并在会话中设置了一些变量以供以后使用. 我需要帮助的情况是,我想访问中间件类中的会话对象.我正在使用管理员进行身份验证. 我想在Middleware类中做以下类似的事情: class MyMiddleware def initialize(app, options={}) @app = app end def ..
发布时间:2020-07-14 01:46:22 其他开发

与看守一起记住

对于我的最新项目,我正在使用 https://github.com/hassox/rails_warden .它非常适合我的需求,除了我找不到实现Remember_me的好方法.我知道,从安全角度来看,正确地记住Remember_me是非常困难的,因此,我希望那里有一个可以完成这项工作的项目.有人看到任何东西或有个好主意吗? 解决方案 Devise ,这是一种身份验证Warden上的解决方 ..
发布时间:2020-07-14 01:46:18 其他开发

登录后访问设计中的新session_id

我正在使用devise&重写SessionsController#create以根据特定条件跟踪登录. 即使执行sign_in(user)之后,在sign_in(user)之前的session [:session_id]的值也相同. 我想在数据库中存储新的session_id以便跟踪用户.但无法访问它.如何获得? 在寻找它的同时,发现Devise使用Warden的set_user ..
发布时间:2020-07-14 01:46:14 其他开发

对控制器测试进行监督

我在测试控制器和使用Warden时遇到问题. 所有示例都指向存根request.env['warden'].当我调用env['warden'],然后返回nil时,这会导致控制器出现问题. 使用一个粗略的例子: request.env['warden'] = double(Warden, :authenticate => nil, ..
发布时间:2020-07-14 01:46:11 其他开发

配置Warden以在RSpec控制器规格中使用

我能够使用Devise的sign_in方法登录我的控制器规格中的用户.但是,既然我要从应用程序中删除Devise,我现在还不确定如何单独使用Warden来获得类似的功能. 我应该如何设置spec/spec_helper.rb和相关的spec/support/*.rb文件,以使Warden在控制器规格内充分运行? 我尝试在spec/support/warden.rb上设置具有以下内容的文 ..
发布时间:2020-07-14 01:46:07 其他开发