让auth在包中工作

时间:2013-02-12 23:08:29

标签: php laravel

我正在尝试按照此处的指南:http://fideloper.com/post/41750468389/laravel-4-uber-quick-start-with-auth-guide为用户设置'admin /'的授权。但是我试图在一个证明非常棘手的包中做到这一点。

在workbench / vendor / user / src / Vendor / User / routes.php我有:

Route::filter('adminAuth', function()    {
    if (Auth::guest()) return Redirect::to('user::login');
});

Route::get('/login', function()    {
    return View::make('user::login');
});

Route::post('/login', function()    {
    Auth::attempt( ['email' => Input::get('email'), 'password' =>       Input::get('password')] );
    return Redirect::to('/');
});

Route::get('admin', array('before' => 'adminAuth', function()    {
    return 'Hello, '.Auth::user()->email.'!';
}));

登录页面按预期显示,当输入用户信息时,我播种了数据库,我收到以下错误:

FatalErrorException: Error: Class '\User' not found in E:\cms_root\vendor\laravel\framework\src\Illuminate\Auth\EloquentUserProvider.php line 89

在app中的auth.php文件中我有:

    'model' => 'User',

我猜是不正确的,但我不确定如何解决我在workbench/vendor/user/src/Vendor/User/models/User.php创建的用户模型。我已经尝试了User::UserVendor\User\User这些都没有用。

添加了:

User.php文件顶部有<?php namespace Vendor\User;,我在app root和workbench / vendor / user文件夹中都有一个composer dumpautoload。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用\ Vendor \ User \ User吗?前面的反斜杠类似于命名空间的绝对路径。