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

Laravel 7 自定义登录

Laravel 7 自定义登录

PHP
慕沐林林 2023-06-24 18:26:45
我正在 Laravel 中进行自定义登录,当我尝试检查登录表单的数据时,我无法登录。在注册中,我对密码进行哈希处理以将其存储在数据库中,因此登录表单的密码字段永远不会等于存储的数据库。这是我的创建函数,我在其中注册用户:   public function create(){    $this->validateFields();    if (request('profileImage') !== null) {        $this->storeImage();        User::create([            'username' => request('username'),            'email' => request('email'),            'password' => Hash::make('password'),            'profileImage' => request()->profileImage->getClientOriginalName(),        ]);    }    User::create([        'username' => request('username'),        'email' => request('email'),        'password' => Hash::make(request('password')),    ]);    return Redirect::to(route('user.showLoginForm'));}validateFields 和 storeImage 与问题无关......这是我的登录功能:    public function login(){    request()->validate([        'email' => 'required',        'password' => 'required'    ]);    $credentials = array(        "email" => request("email"),        "password" => bcrypt(request("password"))    );    if (Auth::attempt($credentials)) {        return 'exit!';    }    return 'Error';}这是我的登录表单:  <div class="container">    <div class="row pt-2">        <div class="col-sm-12 justify-content-center">            <div class="card">                <div class="card-header">                    <h4>                        Login                    </h4>                </div>
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

自定义登录 100% 无需授权即可工作,


 use Hash;


$data->password = Hash::make(($request->password)); Encript Password


public function requestEmployee(Request $request)

{

if ($data = AddEmployee::where('name', $request->name)->first()) {

    $pass = Hash::check($request->password, $data->password);

    if ($pass) {

        echo "sucess";

    } else {

        echo "Password Not Valid";

    }

 } else {

    echo "Username Not Valid" . "<br>";

 }

}


查看完整回答
反对 回复 2023-06-24
?
肥皂起泡泡

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

请尝试一下:


public function login()

{

    request()->validate([

        'email' => 'required',

        'password' => 'required'

    ]);


    $credentials = array(

        "email" => request("email"),

        "password" => request("password")

    );


    if (Auth::attempt($credentials)) {

        return 'exit!';

    }


    return 'Error';


}


查看完整回答
反对 回复 2023-06-24
?
当年话下

TA贡献1890条经验 获得超9个赞

 $password=Hash::check($request->password,$user->password);

使用它会返回 true 或 false


或者只是使用


  $credentials = array(

    "email" => request("email"),

    "password" => request("password")

);

没有 bcrypt


查看完整回答
反对 回复 2023-06-24
  • 3 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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