为了账号安全,请及时绑定邮箱和手机立即绑定

在 Laravel 7 中使用纯文本密码

在 Laravel 7 中使用纯文本密码

PHP
皈依舞 2023-03-04 17:51:17
再会,我是新手,仍在学习 Laravel 7 框架。有没有一种方法可以在我的登录页面上使用纯文本密码,因为在我现有的数据库用户密码上只使用纯文本?
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您可以手动检索用户,然后将其传递给 Auth::login( $user )。例子:


$user = User::where( 'email'    => $request->input( 'email' ) )

        ->where( 'password' => $request->input( 'password' ) )

        ->first();


if( $user ) {

    Auth::login( $user );

}


查看完整回答
反对 回复 2023-03-04
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

如果您使用的是 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,具体方法取决于你的身份验证策略。


查看完整回答
反对 回复 2023-03-04
  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号