我正在尝试按照此处的指南: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
在应用程序的 auth.php 文件中,我有:
'model' => 'User',
我猜这是不正确的,但我不知道如何解决我在中创建的用户模型:workbench/vendor/user/src/Vendor/User/models/User.php
. 我已经尝试过User::User
,Vendor\User\User
但都没有工作。
添加:
User.php 文件<?php namespace Vendor\User;
位于顶部,我在应用程序根目录和工作台/供应商/用户文件夹中都做了一个 composer dumpautoload。