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最初のパラメータは、実装する必要がある your のインスタンスですUserProviderInterface。2 番目のパラメーターは、ガードが認証されたユーザー情報を保存する場所です。この場合は、IoC で作成されたセッション オブジェクトです。

于 2013-08-14T22:48:17.467 に答える