问题描述
我正在使用 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加密登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!