我正在尝试按照本指南实施自定义身份验证提供程序:http://laravel-recipes.com/recipes/115/using-your-own-authentication-driver
在我的项目中,我创建了以下文件:
app / Latheesan / Extensions / DummyAuthProvider.php
使用步骤1中的示例代码并将“MyApp
”重命名为“Latheesan
”。
然后我在 app / start / global.php
中添加以下行Auth::extend('dummy', function($app) {
return new Latheesan\Extensions\DummyAuthProvider;
});
然后更新了 app / auth / config.php 并更改了驱动程序:
'driver' => 'dummy',
最后我修改了我的routes.php
:
Route::filter('auth', function($route, $request) {
if (Auth::guest())
return Redirect::guest('login');
});
Route::get('login', array('uses' => 'HomeController@showLogin'));
Route::post('login', array('uses' => 'HomeController@doLogin'));
Route::get('logout', array('uses' => 'HomeController@doLogout'));
Route::get('/', function() {
return View::make('hello');
})->before('auth');
在我测试代码之前,我运行 composer dump-auto 来生成自动加载文件。
当我访问我的测试网站时:http://laravel-test.local我收到此错误:
Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_ERROR)未找到类'Latheesan \ Extensions \ DummyAuthProvider'
知道为什么我的自定义身份验证提供程序类没有加载?
答案 0 :(得分:0)
默认情况下,composer不知道如何自动加载新类,因此您需要在autoload
文件的composer.json
部分添加PSR规则。这应该可以解决问题:
"autoload": {
"psr-0": {
"Latheesan": "app/"
},
...
}