我需要建立一个网站,在该网站中公共用户可以直接看到仪表板/主页,关于页面,联系页面但不能添加,编辑或删除帖子。这些优先权仅供管理员用户使用。他们需要登录,然后他们可以添加内容并进行修改。我在laravel做这个项目。提前谢谢
答案 0 :(得分:0)
只需创建一个包含auth-middleware之外路径的主页
对于管理页面(仅限登录),只需将->middleware('auth');
放在路线的末尾
Route::get('profile', function () {
// Only authenticated users may enter...
})->middleware('auth');
或者你可以放一个小组路线
Route::get('/', 'IndexController@Index'); //url == http://www.example.com
Route::get('/contact', 'IndexController@Contact'); //url == http://www.example.com/contact
Route::auth(); //default laravel auth route like login, register, reset pass (make sure to disable register controller in app/Http/Controllers/Auth)
Route::group(['middlewareGroups' => ['web'], 'middleware' => ['auth']], function () {
//your route for authentication only
Route::get('/admin/edit/', 'AdminController@Edit'); //url == http://www.example.com/admin/edit/
Route::get('/admin/list/', 'AdminController@List'); //url == http://www.example.com/admin/list/
});
答案 1 :(得分:0)
您可能需要考虑使用Laravel Authorization
功能来构建您的权限。
https://laravel.com/docs/5.4/authorization
使用Gates
和Policies
,您只能在该用户分配了正确的策略时允许采取某些操作。
如何为用户分配策略,但我会在is_admin
表上建议一个基本的User
布尔值,或者创建某种user_roles
表。