gpt4 book ai didi

php - 仅当他的状态为事件时,我如何在 Laravel 8 Jetstream 中对用户进行身份验证?

转载 作者:行者123 更新时间:2023-12-04 17:23:34 29 4
gpt4 key购买 nike

我正在构建 Laravel 8 应用程序并成功实现身份验证。现在我想在登录之前检查用户的状态是否处于事件状态。我在用户表中添加了一个字段

username varchar
password varchar
....
status tinyint(1)
...
我正在使用 JetStream 和 Fortify
谢谢

最佳答案

您可以从 app\Providers\JetStreamServiceProvider.php 自定义用户身份验证, 在 boot方法 :

use App\Models\User;
use Illuminate\Http\Request;
use Laravel\Fortify\Fortify;

public function boot()
{
$this->configurePermissions();

Jetstream::createTeamsUsing(CreateTeam::class);
Jetstream::updateTeamNamesUsing(UpdateTeamName::class);
Jetstream::addTeamMembersUsing(AddTeamMember::class);
Jetstream::deleteTeamsUsing(DeleteTeam::class);
Jetstream::deleteUsersUsing(DeleteUser::class);
// Below code is for your customization
Fortify::authenticateUsing(function (Request $request) {
$user = User::where('email', $request->email)->first();

if ($user && Hash::check($request->password, $user->password)) {
if ($user->status == 1) { // it will return if status == 1
return $user;
}
}

});
}
看官方 Jetstream 的文档Customizing User Authentication

关于php - 仅当他的状态为事件时,我如何在 Laravel 8 Jetstream 中对用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64835186/

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