2

如何扩展Auth以使用我自己的包认证系统?

我更换了身份验证驱动程序并注册了我的ServiceProvider,但我必须在它的register()方法中放入什么?

以下代码不起作用:

Auth::extend('example', function($app) {
    $provider =  new Vendor\Package\PackageUserProvider;
    return new \Illuminate\Auth\Guard($provider, $app['session']);
});
4

1 回答 1

1

我认为你必须这样做:

\Auth::extend('example', function()
    {
        return new Guard(
            new ExampleUserProvider(
                new BcryptHasher,
                \Config::get('auth.model')
            ),
            \App::make('session')
        );
    });

这将创建一个新的守卫。第一个参数是你UserProvider应该实现的实例UserProviderInterface。第二个参数是守卫应该存储经过身份验证的用户信息的位置 - 在本例中是在 IoC 中创建的会话对象。

于 2013-08-14T22:48:17.467 回答