在 Laravel 7 中使用纯文本密码

再会,

我是新手,仍在学习 Laravel 7 框架。有没有一种方法可以在我的登录页面上使用纯文本密码,因为在我现有的数据库用户密码上只使用纯文本?


皈依舞
浏览 149回答 2
2回答

胡子哥哥

您可以手动检索用户,然后将其传递给 Auth::login( $user )。例子:$user = User::where( 'email'    => $request->input( 'email' ) )        ->where( 'password' => $request->input( 'password' ) )        ->first();if( $user ) {    Auth::login( $user );}

白衣染霜花

如果您使用的是 Passport,这可以通过扩展类来完成Laravel\Passport\Bridge\UserRepository。use Laravel\Passport\Bridge\UserRepository;use Laravel\Passport\Bridge\User;class MyUserRepository extends UserRepository{    public function getUserEntityByUserCredentials(        $username,        $password,        $grantType,        ClientEntityInterface $clientEntity    ) {        $user = UserModel::first(['username' => $username]);        if ($user->password == $password) {            return new User($user->getAuthIdentifier());        }        return null;    }}然后你可能想通过服务提供商将存储库引导到 Passport,具体方法取决于你的身份验证策略。
打开App,查看更多内容
随时随地看视频慕课网APP