将phpass引入Laravel

时间:2013-04-24 23:57:28

标签: php laravel phpass

我正在使用Laravel 3.2创建一个新网站。我的网站将链接到现有的用户数据库,这意味着来自其他网站的用户将能够使用相同的帐户登录此网站。

现有网站使用phpass所以我想,我需要在Laravel网站中使用phpass来使身份验证正常工作。我为Laravel下载了phpass包,我实现它只是为了哈希密码和检查密码。有没有办法可以将它实现到Laravels身份验证类中,所以使用普通的Laravel身份验证方法会使用phpass吗?

1 个答案:

答案 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'

祝你好运。

参考