forms - 登录时对用户进行身份验证
问题描述
我是初学者,正在学习 Rails 教程 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 = User.first
=> User id: 1, name: "Rails Tutorial", email: "example@railstutorial.org", created_at: "2020-02-13 01:04:12", updated_at: "2020-02 -13 01:04:12",密码摘要:[过滤]!!(user && user.authenticate('railst1234'))
=> false
这里的问题是为什么如果电子邮件和密码信息返回 FALSE。假设是对的?
解决方案
推荐阅读
- excel - 如何使用 excel 公式计算 yyyymm 格式的两个日期时间值之间的差异?
- authentication - 如何使用 HttpOnly 身份验证会话 cookie 保护 SPA 中的路由?
- c++ - 剪辑问题添加音符以创建和弦
- amazon-web-services - AWS EC2 实例的访问策略
- python - 我们如何比较 django 中的请求对象?
- pytorch - 导出一个 torchscript 模型
- javascript - Passport.js - 自定义未经授权的消息
- java - 如何远程执行测试代码(maven/java/testNG/selenium)?
- java - Tomcat - JRE_HOME 环境未正确定义 - Java 11
- php - Composer 错误:您的要求无法解析为一组可安装的软件包