登录时对用户进行身份验证

Viatech

我是个初学者,正在做Rails Tuturial https://www.learnenough.com/ruby-on-rails-6th-edition-tutorial/basic_login#sec-finding_and_authenticating_a_user>

上一课create是一个新课程user,我正在rails``console使用booleans进行验证,以证明用户是否email会话password匹配login

这是我在session controller文件中的代码

class SessionsController < ApplicationController

  def new
  end

  def create
     user = User.find_by(email: params[:session][:email].downcase)
    if user && user.authenticate(params[:session][:password])
    else
      render 'new'
    end
  end

  def destroy
  end
end

并在rails控制台中进行验证:

用户= User.first
=>用户ID:1,名称:“ Rails Tutorial”,电子邮件:“ [email protected]”,created_at:“ 2020-02-13 01:04:12”,updated_at:“ 2020-02” -13 01:04:12“,password_digest:[已过滤]

!!(用户&& user.authenticate('railst1234'))
=>

这里的问题是为什么如果电子邮件和密码信息返回FALSE。应该是对的吗?

塞米·阿斯拉诺格鲁

我认为这是因为您尝试对加密的密码进行身份验证,但是在未向用户模型提供password_confirmation的情况下进行创建。这是了解用户密码的好链接

如果您不希望用户使用加密的密码,也可以为您提供帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么用户登录后必须使用Firebase进行身份验证?

无法使用KeyCloak对应用程序用户的登录进行身份验证

Laravel-在用户登录时删除身份验证用户帐户

使用Restful asp.net Web API进行用户登录身份验证并保护API

Django使用登录的Windows域用户进行身份验证

Laravel 5 db:种子用户名和密码,但登录时不进行身份验证

使用Lambda,Cognito或IAM在AWS上进行用户身份验证(注册和登录)

在Django中,登录后如何检测哪个auth后端对用户进行了身份验证?

从后台返回时,使用FaceID或TouchID对登录的用户进行身份验证

是否可以使用登录的Windows用户凭据对Web API进行身份验证?

在Web应用程序中对用户进行身份验证时,对用户进行身份验证以使用Azure功能

使用Symfony登录表单身份验证器进行身份验证时出错

使用Flutter进行社交登录身份验证时如何获取用户详细信息?

使用Google登录进行身份验证之前,请检查用户是否已登录-Flutter

Symfony2定制用户提供程序未进行身份验证/登录

如何在不登录的情况下在页面加载时对用户凭据进行身份验证

仅对已登录用户的视频进行身份验证

我对用户进行身份验证时始终返回false

如何在Lumen中使用身份验证进行用户登录?为什么在启动时看到“未经授权”?

使用Firebase登录用户时出现“身份验证/用户未找到”

登录时对用户进行身份验证-Laravel

使用 Bcrypt 进行用户身份验证

用户未通过外部登录进行身份验证

使用后端进行身份验证,无需用户干预(使用新的登录 API)

LoginController 未对用户进行身份验证

如何使用 django-microsoft-auth 获取当前登录用户进行 Microsoft 身份验证?

无法从 Ionic 应用程序对 Google 用户进行身份验证,收到“无法登录”错误

来自用户登录的 Firestore ID 令牌无法在 REST API 调用中进行身份验证

当我使用 Flutter Firestore 进行身份验证流程(登录、注销)时,如何为特定用户获取正确的数据?