Laravel身份验证问题

时间:2018-01-11 17:41:17

标签: php laravel authentication

我对laravel很新,我对自己的身份验证提出了一些问题。 当我使用函数Auth :: attempt($ credentials)时,laravel似乎在bcrypt中自动加密,但是哪个字段? 我发现它会自动加密数据库中的'密码'字段,对吗? 如果我想在sha1中加密密码怎么办? 最后但并非不太重要,使用此函数而不是原始SQL选择查询有什么好处? 我正努力提高英语水平。

2 个答案:

答案 0 :(得分:1)

Laravel是一个聪明的框架。当您使用Auth::attempt($credentials)时,laravel只需在$ credentials数组中搜索密码字段并对其进行加密。

如果您想将值加密到sha1,您可以自由地执行此操作。但为此,您必须使自定义函数生成sha1加密值。我通常不建议这样做。

使用laravel Eloquent使代码清洁并易于理解。它不是你不能使用原始的SQL查询。您可以使用DB::selectRaw('query')->get()->toArray();方法使用它。但代码似乎很乱。

答案 1 :(得分:0)

是的,它使用Bcrypt。来自the docs

  

Laravel Hash外观提供用于存储用户密码的安全Bcrypt哈希。

如果您想使用其他哈希方法,则无法使用attempt()。在这种情况下,您需要手动检查密码并login user manually