当前位置: 首页 > 编程笔记 >

Ruby on Rails 使用Devise进行身份验证

华知
2023-03-14
本文向大家介绍Ruby on Rails 使用Devise进行身份验证,包括了Ruby on Rails 使用Devise进行身份验证的使用技巧和注意事项,需要的朋友参考一下

示例

将gem添加到Gemfile中:

gem 'devise'

然后运行bundle install命令。

使用命令$rails generate devise:install生成所需的配置文件。

在每个环境中为Devise邮件程序设置默认URL选项。在开发环境中,添加以下行:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

给你 config/environments/development.rb

同样在生产中,此编辑config/environments/production.rb文件并添加

config.action_mailer.default_url_options = { host: 'your-site-url'}

然后使用以下方法创建模型:$rails generate devise USERwhereUSER是要为其实现身份验证的类名。

最后,运行:rake db:migrate一切就绪。

自定义视图

如果需要配置视图,则可以使用rails generate devise:views将所有视图复制到应用程序的生成器。然后,您可以根据需要对其进行编辑。

如果您的应用程序中有多个Devise模型(例如User和Admin),您会注意到Devise对所有模型使用相同的视图。Devise提供了一种自定义视图的简便方法。config.scoped_views = true在config/initializers/devise.rb文件内设置。

您还可以使用生成器来创建作用域视图: rails generate devise:views users

如果只想生成几组视图,例如可注册模块和可确认模块的视图,请使用-v标志: rails generate devise:views -v registrations confirmations

 类似资料:
  • 问题内容: 我正在开发一个RailsWeb应用程序,该应用程序还为移动设备提供了基于JSON的API。移动客户端应首先通过(电子邮件/通过)获得令牌,然后客户端将使用该令牌进行后续的API调用。 我对Devise相当陌生,我正在寻找一个Devise API外观,并希望它返回true / false,然后基于此,我将创建并返回令牌或返回拒绝消息。但似乎Devise没有提供类似的信息。 我知道Devi

  • 我正在尝试使用urllib3连接到网页。代码如下所示。 如果我们假设url是需要使用用户名和密码进行身份验证的某个网页,那么我是否使用正确的代码进行身份验证? 我使用urllib2做这件事很舒服,但使用urllib3做不到同样的事情。 非常感谢

  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。

  • 问题内容: 我正在使用Rails做一个单页应用程序。登录和注销时,使用ajax调用Devise控制器。我遇到的问题是当我1)登录2)退出然后再次登录时不起作用。 我认为这与CSRF令牌有关,该令牌在我退出时会重置(尽管它不应该出现),并且由于它是单页的,因此在xhr请求中发送了旧的CSRF令牌,从而重置了会话。 更具体地说,这是工作流程: 登入 登出 登录(成功201。但是在服务器日志中打印) 后

  • 问题内容: 我可以通过接收到请求的xml 但不是 没有JavaScript错误,没有跨域策略问题。可能是语法错误,但是我找不到合适的教程。有什么建议吗? 问题答案: 我认为您需要纯格式:

  • 我正在尝试使用一个Gem devise-two-factor在Devise上实现双因素身份验证。我想验证是在2个步骤,在第一,我将要求用户名和密码。如果用户通过了这一步,那么他将被重定向到OTP的下一页,如果2FA被激活,否则会话将由Devise验证。 如果用户选择了2fa,那么我希望使用Devise来执行所有的身份验证,而不希望在User.validate_and_consume_otp(CUR