我正在使用Laravel 3.2创建一个新网站。我的网站将链接到现有的用户数据库,这意味着来自其他网站的用户将能够使用相同的帐户登录此网站。
现有网站使用phpass所以我想,我需要在Laravel网站中使用phpass来使身份验证正常工作。我为Laravel下载了phpass包,我实现它只是为了哈希密码和检查密码。有没有办法可以将它实现到Laravels身份验证类中,所以使用普通的Laravel身份验证方法会使用phpass吗?
答案 0 :(得分:1)
您需要实现自己的自定义身份验证驱动程序。这是一个相对无痛的过程,需要一些自定义代码才能开始工作,但幸好L3很容易扩展。
基本上你可以扩展一个现有的驱动程序(Eloquent或Fluent)并简单地重载attempt
方法。看看Eloquent驱动程序。 Hash::check()
方法位于第53行。所以基本上,在libraries
为您的驱动程序创建一个新文件,可能称为phpass.php
并扩展并调整驱动程序。
然后使用Auth::extend()
方法注册您的驱动程序。
Auth::extend('phpass', function()
{
return new Phpass;
}
然后在application/config/auth.php
中设置您的驱动程序。
'driver' => 'phpass'
祝你好运。