【发布时间】:2017-09-11 14:05:42
【问题描述】:
我正在尝试在我的 Lumen 应用程序中启用基本用户身份验证 username 和 password。
在app.php 文件中,如https://lumen.laravel.com/docs/5.4/authentication 中所述,以下内容已取消注释
$app->withFacades();
$app->routeMiddleware([
'auth' => App\Http\Middleware\Authenticate::class,
]);
$app->register(App\Providers\AuthServiceProvider::class);
我的路线如下所示:
$app->post('auth/register', ['uses' => 'Auth\AuthController@postRegister']);
我的控制器如下所示:
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Repositories\UserRepository;
use Illuminate\Http\Request;
use Auth;
use App\User;
class AuthController extends Controller {
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
}
public function postRegister(Request $request, UserRepository $userRepository)
{
$this->validate($request, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
$user = $userRepository->store($request);
Auth::login($user);
return ['result' => 'success'];
}
}
我遇到了一些奇怪而奇妙的错误,目前我得到的是:
ReflectionException in BoundMethod.php line 155:
Class App\Repositories\UserRepository does not exist
我已经进行了一些广泛的谷歌搜索,但 Lumen 中用户身份验证的使用记录似乎并不多,因此寻找关于我在这里错过的内容的指针。
【问题讨论】:
-
您需要缩小问题范围。那么
UserRepository类没有被服务容器解析?仔细检查你是否没有在类名或路径上犯任何错误。
标签: php laravel authentication lumen