我正在使用Laravel 3.2创建一个新网站。我的站点将链接到现有的用户数据库,这意味着来自另一个站点的用户将能够使用相同的帐户登录到此站点。
现有的站点使用phpass,所以我想,我需要在Laravel站点中使用phpass来使身份验证正常工作。我下载了Laravel的phpass包,我已经实现了它,只是为了散列密码和检查密码。有没有办法将它实现到Laravel身份验证类中,这样使用普通的Laravel身份验证方法就会使用phpass?
发布于 2013-04-25 12:37:05
您需要实现自己的自定义身份验证驱动程序。这是一个相对无痛的过程,需要一些自定义代码才能工作,但值得庆幸的是,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'祝你好运。
参考文献
https://stackoverflow.com/questions/16204206
复制相似问题