我目前的大学项目是学校管理系统。它主要由三个"配置文件" - 一个用于学生,另一个用于教师/教授,第三个用于协调员/管理员。
经过身份验证并离开登录页面后,我就会发生这种情况:
在Laravel 5.6中实现此目的的最佳方式是什么?
注意:我目前可以对用户进行身份验证,但没有权限和角色。我使用的是Laravel的默认用户表。
答案 0 :(得分:0)
@Julio Kirk您可以使用 Voyager 套餐。
Voyager只是Laravel应用程序的管理员。无论你想要什么,你的应用程序在前端完成取决于你。您可以控制您的应用程序,并且可以使用Voyager通过添加数据,编辑用户,创建菜单和许多其他管理任务来简化您的生活。
您的要求已在此项目中完成。
答案 1 :(得分:0)
我建议使用 ENTRUST(Laravel 5 Package)
简单而有力。
要安装Laravel 5 Entrust,只需将以下内容添加到composer.json即可。然后运行composer update:
"zizaco/entrust": "5.2.x-dev"
打开config / app.php并将以下内容添加到providers数组中:
Zizaco\Entrust\EntrustServiceProvider::class,
在相同的config / app.php中,将以下内容添加到别名数组中:
'Entrust' => Zizaco\Entrust\EntrustFacade::class,
运行以下命令以发布程序包配置文件config/entrust.php:
php artisan vendor:publish
打开您的config / auth.php并将以下内容添加到其中:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => Namespace\Of\Your\User\Model\User::class,
'table' => 'users',
],
],
如果您想使用中间件(需要Laravel 5.1或更高版本),您还需要添加以下内容:
'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,
在app/Http/Kernel.php
中路由中间件数组。
阅读更多内容并获取图书馆:https://github.com/Zizaco/entrust
答案 2 :(得分:0)
由于一个用户只能拥有三个角色中的一个,因此您不需要将角色与权限分开 - 只需将角色单元添加到您的用户表中,或者如果您无法修改它,请创建一个具有ID的新角色 - 角色对。
之后,您只需使用带参数的中间件: https://laravel.com/docs/5.6/middleware#middleware-parameters
确定是否允许用户访问当前路线。
除此之外,这篇文章将回复你: Laravel 5.4 redirection to custom url after login