php - laravel5.3如何兼容两套ACL权限管理?
巴扎黑
巴扎黑 2017-04-11 10:20:54
[PHP讨论组]

求指教,按照http://9iphp.com/web/laravel/... 这个教程,在一个项目中实现了前后端用户分开的两套ACL,就是现在/app/Providers/AuthServiceProvider.php 中,boot方法,该怎样判断用户是前端还是后端用户啊,根本没办法获取用户信息,auth也没办法获取,求指教怎么处理?谢谢

巴扎黑
巴扎黑

全部回复(1)
阿神

最终自己解决了,因为有一个BaseContorller __construct方法,这里设计来限制用户单浏览器登录的,每次前置执行一下,然后判断用户的session_id和当前的session_id

在这里给用户
Auth::user()->isAdmin = false;

然后因为每次登录后,跳去首页或者任何页面,都会经过__construct方法,

在/app/Providers/AuthServiceProviders.php 的boot方法中,这样进行判断:

 Gate::before(function($user) {

            if (!$user->isAdmin) {
                $permissions = \App\UserPermission::with('roles')->get();
            } else {
                $permissions = \App\Permission::with('roles')->get();
            }

            foreach ($permissions as $permission) {
                Gate::define($permission->name, function($user) use ($permission) {
                    return $user->hasPermission($permission);
                });
            }
        });

这样就去分开了两套ACL权限

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号