2
A
回答
5
看起来你需要实现角色。你可以使用默认的Laravel用户模型,将需要创建一个榜样:
用户模型
...
public function role() {
return $this->belongsToMany('App\User', 'user_roles', 'role_id', 'user_id');
}
public function inRole($role) {
return (bool) $this->role()->where('name', '=', $role)->count();
}
...
角色模型
...
public function users() {
return $this->belongsToMany('App\Role', 'user_roles', 'user_id', 'role_id');
}
...
你会需要创建,除了2个表你用户表:
Table users
id | name
---------
1 | John
2 | Michael
Table roles
id | name
---------
1 | Admin
2 | Member
Table user_roles
id | user_id | role_id
----------------------
1 | 1 | 1
2 | 2 | 1
现在你可以实现dif的不同权限你有不同的角色。您可以使用策略或门来定义权限。欲了解更多信息如何做,请检查documentation。
我们的成员重定向到/用户/家庭和管理员对/管理/仪表板,你可以做到以下几点:
你在你的AuthServiceProvider定义adminAccess:
public function boot() {
$this->registerPolicies();
...
// Define adminAccess
Gate::define('adminAccess', function ($user) {
return $user->inRole('admin');
});
}
更新: 现在,您可以使用中间件来保护您的管理路由,例如:
public function handle($request, Closure $next) {
if (Auth::check() && Auth::user()->inRole('admin')) {
return $next($request);
}
return redirect('/');
}
然后注册表r在$routeMiddleware
变量中的Kernal.php中的中间件。然后,你可以把你的所有管理路由组中,并使用有中间件:
Route::group(['middleware' => 'auth']) {
// Define your routes
}
3
如果您需要根据警卫多权威性,试试这个包laravel 5.3 https://github.com/Hesto/multi-auth
相关问题
- 1. Laravel 5.3中的多重身份验证
- 2. Laravel 5.3多重身份验证设置
- 3. 在Laravel 5.3中使用多重身份验证?
- 4. 流明5.3身份验证
- 5. Laravel 5.3身份验证依赖用户
- 6. Laravel 5多重身份验证
- 7. Laravel身份验证不能在laravel中正常工作5.3
- 8. 在多个身份验证使用laravel 5.3
- 9. 多重身份验证
- 10. Nodejs多重身份验证
- 11. Sharepoint多重身份验证
- 12. Laravel身份验证本地重定向
- 13. laravel 5.3更改身份验证的SQL查询
- 14. Laravel 5.3 + Passport:总是未经身份验证的错误
- 15. Laravel5.3多域身份验证
- 16. Laravel rest api身份验证
- 17. Laravel身份验证错误
- 18. Laravel&Vue.js身份验证
- 19. Laravel身份验证混淆
- 20. Laravel身份验证失败
- 21. AngularJS + Laravel 5身份验证
- 22. 问:Laravel 5.1身份验证
- 23. Laravel包身份验证
- 24. Laravel身份验证失败
- 25. 撤销Laravel身份验证
- 26. Laravel身份验证包
- 27. 通过身份验证Laravel
- 28. 如何在Laravel 5.2中创建多重身份验证
- 29. 如何在laravel中执行多重身份验证?
- 30. Laravel 5.3 - 更改身份验证视图路径
我怎么能基于角色的重定向。用户将被重定向到用户/家庭,管理员将被重定向到管理员/仪表板,并限制具有角色的用户,因为成员无法查看管理员仪表板。 –
检查我更新的答案 – Gadzhev