我使用laravel-modules创建了一个名为 Article
的新模块 . 一些后端路由需要身份验证,我添加了 auth
中间件和一个额外的权限 view_backend
. 我使用https://github.com/spatie/laravel-permission包作为角色权限 .
问题是当我尝试访问路由 admin/article/posts
时,它会提示我按预期登录 . 但登录后,它在 __construct()
方法上显示为 Auth::user()
;
我在#204上添加了 web
中间件,但它没有解决问题 . 你能指导我解决这个问题吗?我的项目在Laravel 5.6上,并使用最新版本的Laravel-Modules
Route::group(['namespace' => 'Modules\Article\Http\Controllers\Backend', 'as' => 'backend.article.', 'middleware' => ['web', 'auth', 'can:view_backend'], 'prefix' => 'admin/article'], function () {
Route::resource("posts", "PostsController");
});
我的项目在Github举办,https://github.com/nasirkhan/laravel-starter/tree/module
2 回答
首先,将Spatie Middleware添加到您的内核:
然后在您的控制器中检查权限或角色:
现在,您可以使用$ request-> user()访问您的身份验证,例如:
根据文件:
或者您可以输入提示:
Docs