【发布时间】:2014-12-17 02:56:21
【问题描述】:
我正在尝试按照本指南实施自定义身份验证提供程序: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”
知道为什么我的自定义身份验证提供程序类没有加载吗?
【问题讨论】:
-
您是否在 composer.json 中使用 PSR,以便它知道如何自动加载您的类?像这样的东西:
"autoload": { "classmap": (...), "psr-0": { "Latheesan": "app/" } }, -
@milz 谢谢你,它成功了。我收到了另一个错误,请参阅下面对 Bogdan 的回复
标签: php authentication laravel-4