关于AUth::login的登录认证无法通过的问题。
1. 运行环境
windows10+PHP8.2+laravel11
1). 当前使用的 Laravel 版本?
laravel11.34.2
//: <> (使用 php artisan --version
命令查看)
2). 当前使用的 php/php-fpm 版本?
PHP 版本:
php-fpm 版本:
nginx
//: <> (代码里 phpinfo 函数,然后页面访问查看 php-fpm 版本)
//: <> (如不方便使用 phpinfo 函数 ,使用 ps aux | grep php-fpm.conf
命令查)
//: <> ( 看 php-fpm 版本。如有多个,请以 nginx 站点配置为准。)
3). 当前系统
windows10
//: <> (期待数值 Windows 10 / Ubuntu 20.4 / CentOS 8 )
4). 业务环境
开发环境
//: <> (期待信息 开发环境
或 生产环境
)
//: <> (是否使用负载均衡?请提供相关信息)
5). 相关软件版本
nginx
//: <> (提供相关软件的版本,如 Nginx 、MySQL、MongoDB 等)
2. 问题描述?
使用auth::login无法登录。看教程是要求数据表是users,同时要求需要使用邮箱与密码登录。这边用户数据表名称是cms_user ,并在user模组中定义了。另外还要求密码需要使用哈希值加密都按这样操作了。可是使用auth::login无法获取到真值。
public function login(Request $request)
{
$validated = $request->validate([
‘name’ => ‘required’,
‘password’ => ‘required’,
]);
$user = new User([
‘name’=>$request->input(‘name’),
‘password’=>Hash::make($_POST[‘password’])
]);
if (Auth::login($user)) {
return redirect(‘/‘);
}
}
3. 您期望得到的结果?
成功登录,跳转到根目录“/”,已经定义了路由,即使路由不存在,直接提示路由不存在也行哈。
//: <> (能截图就截图。)
4. 您实际得到的结果?
啥也没有,一片空白。
//: <> (有报错信息的话把堆栈信息提供出来)
使用login是需要先查出用户模型的,你这只是实例化,建议使用attempt进行登录:用户认证《Laravel 11 中文文档》