如何在登录控制器中使用Crypt加密登录

如何在登录控制器中使用Crypt加密登录

本文介绍了如何在登录控制器中使用Crypt加密登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Crypt :: 进行注册和登录.我的注册成功,但登录失败.请检查代码并为我提供帮助.

I am using Crypt:: for registration and login. My registration is successful but login is not successful. Please check the code and help me.

public function Login(Request $request)
{
    $this->validate($request, [
        'email' => 'required',
        'password' => 'required',
    ]);

    $userdata = array(
        'email' => $request->email,
        'password' => \Crypt::encrypt($request->password)
    );

    if (Auth::attempt($userdata) {
        echo "success";die();
    }

    return "Ops! snap! seems like you provide an invalid login credentials";
}

推荐答案

我以前遇到过此问题.我使用了Crypt Encryption,因为我需要在laravel刀片输入元素中显示从加密到解密的密码.

I have this problem before.I used Crypt Encryption because I need to display the password from encrypted to decrypted in laravel blade input element.

我深入研究了项目中的laravel参考,并找到了解决方案.在默认情况下,laravel使用HASH进行加密,因为我使用了Crypt进行注册和登录.当我尝试登录时,返回false.我所做的是编辑了位于其中的一个laravel函数

I deeply look at laravel references in projects and found a solution.In default laravel used HASH for encryption, since I used Crypt to Register and Login.When I try to Login this returns false.What I did is edited one laravel function located in

vendor\laravel\framework\src\Illuminate\Auth\EloquentServiceProvider.php

并从中更改此功能

public function validateCredentials(UserContract $user, array $credentials)
   {
      $plain = $credentials['password'];

      return $this->hasher->check($plain, $user->getAuthPassword());

   }

这些

public function validateCredentials(UserContract $user, array $credentials)
   {
      $plain = $credentials['password'];

      return \Crypt::decrypt($user->getAuthPassword());
   }

这篇关于如何在登录控制器中使用Crypt加密登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 16:44