gpt4 book ai didi

php - Laravel 7 自定义身份验证不起作用

转载 作者:行者123 更新时间:2023-12-05 06:12:08 25 4
gpt4 key购买 nike

我正在尝试在 Laravel 7 应用程序中进行自定义身份验证。引用官方文档我应该在LoginController中添加一个public function authenticate(),所以我试了一下:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class LoginController extends Controller
{
/**
* Handle an authentication attempt.
*
* @param \Illuminate\Http\Request $request
*
* @return Response
*/
public function authenticate(Request $request)
{
eval(\Psy\sh()); //console debug line

$credentials = $request->only('email', 'password');

if (Auth::attempt($credentials)) {
// Authentication passed...
return redirect()->intended('dashboard');
}
}
}

但似乎该功能未在登录时运行。我通过添加调试行 eval(\Psy\sh()); 进行了测试,但它只是没有运行。知道如何运行该函数吗?

最佳答案

我认为 Laravel 7 的旧版本没有 authenticated 方法,但是对于 Laravel 7.30.6,您可以像这样替换 LoginController 中的 attemptLogin 方法:

public function attemptLogin(Request $request)
{
$credentials = $request->only('email', 'password');
return Auth::attempt($credentials, $request->filled('remember'));
}

或者如果您想指定其他条件,您可以像这样替换 attemptLogin:

public function attemptLogin(Request $request)
{
$credentials = $request->only('email', 'password');
return Auth::attempt(['email' => $credentials['email'], 'password' => $credentials['password'], 'role_id' => 1], $request->filled('remember'));
}

后者根据文档:Manually Authenticating Users in Laravel 7.x

关于php - Laravel 7 自定义身份验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63698225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com