使用加密密码进行Laravel身份验证

时间:2018-01-01 13:52:13

标签: php laravel authentication

我正在尝试使用index登录,但我遇到了一些问题

这是我保存用户的方式:

String xpathOfElement = "//*[@id='email']".sendKeys("hhh");
List<WebElement> a = driver.findElements(By.xpath(xpathOfElement));
a.get(0).sendKeys("hhh");

现在您可以看到我使用Laravel这在我的数据库中创建了以下记录:

$user = User::create(array('email'=> $_REQUEST['email'], 'password' => encrypt($password), 'firstname'=> $_REQUEST['firstname'], 'lastname'=>$_REQUEST['lastname'], 'unecrypted'=> $password));

看起来是正确的。

然后我有以下encrypt($password)

'39', 'myMail@mail.dk', 'eyJpdiI6Iis5RTRQdjBCV1piSVEwN0ZwRDQxa1E9PSIsInZhbHVlIjoiTnY1UnJ0YkVqZkY0VlhzdWhBK1QzUWxIdTc0SXNBRHlPcHQrcXpicmZHND0iLCJtYWMiOiJhODM2ZDI4ZTE5ZjY5YjlkNmQyOGIyYTdiOTU3NzFkNmNmZWNlOGVhMDNjYjY0ZTFiZjZiOGJlNWM3N2U4MmViIn0=', '2018-01-01 13:45:51', '2018-01-01 13:45:51', NULL, 'Marc', 'Rasmussen'

但是,当我尝试使用我的密码登录时(我知道这是正确的)我收到以下消息:

LoginController

任何人都可以看到我做错了吗?

2 个答案:

答案 0 :(得分:2)

使用bcrypt()帮助程序加密密码:

'password' => bcrypt($password),

答案 1 :(得分:0)

如果您想使用自己的密码加密方法,请不要使用laravel内置的Auth功能Becuase laravel Auth匹配密码只有在通过bcrypt方法加密的密码时, 比如bcrypt($password);

如果您想使用自己的加密方法,则需要覆盖Auth登录功能并创建自己的登录逻辑。 我希望你明白我想说的是什么。 谢谢。