zoukankan      html  css  js  c++  java
  • Laravel 5.1 ACL权限控制 四 之middleware

    1、创建Middleware

    php artisan make:middleware MustBeAnAdmin
    

    2、实现 MustBeAnAdmin.php中的handle方法,判断登录的用户是否为管理员

        public function handle($request, Closure $next)
        {
            if($request->user() && $request->user()->isAdmin()) {
                return $next($request);
            }
            return  redirect('/');
        }
    

      在User.php中实现isAdmin方法

        public function isAdmin() {
            return $this->hasRole('admin');
        }

    3、在Kernel里的$routeMiddleware注册middleware路由

    'admin' => AppHttpMiddlewareMustBeAnAdmin::class,
    

    4、在PostController.php中实现middleware

        public function __construct()
        {
            $this->middleware('admin');
        }
    

    5、到此我们再在roles、role_user表中个添加一条数据 

      roles表

      

      role_user表

       

      登录不同的用户,经测试访问正常(admin能正常访问,member访问跳转到首页),

      如果访问有问题,请在第4步  $this->middleware('admin'); 前添加 Auth::loginUsingId(1); 再次测试

     

  • 相关阅读:
    计数问题
    自定义中间件
    中间件的数据流向
    模块化
    开发属于自己的包
    中间件
    java JDK环境变量配置
    uni-app 请求 uni.request封装使用
    uni-app 自定义 简单 底部tab
    vue 过滤器 filter 的使用
  • 原文地址:https://www.cnblogs.com/Caoxt/p/5010627.html
Copyright © 2011-2022 走看看