Hkcms 前台限制页面登录或权限控制

说明

实现登录控制与权限控制分别是下面两个中间件负责:
Login 负责登录

\app\index\middleware\Login::class

Auth 负责权限控制

\app\index\middleware\Auth::class

登录限制

在需要限制的控制器增加$middleware属性,例如下面的Demo控制器

<?php
namespace app\index\controller;class Demo extends BaseController{
    protected $middleware = [  // 增加权限控制属性,整个控制器将需要登录
        \app\index\middleware\Login::class    ];}

只限制特定方法需要登录,其他方法不需要登录可以使用下面两个参数

  1. only 限制部分方法生效,如下示例(限制index,show方法需要登录)

<?php

namespace app\index\controller;class Demo extends BaseController{
    protected $middleware = [ // 限制index,show方法需要登录
        \app\index\middleware\Login::class=> ['only'=>['index','show']]
    ];

    public function index()
    {
        echo 1;
    }

    public function show()
    {
        echo 2;
    }

    public function lists()
    {
        echo 2;
    }}
  1. except 排除部分方法,其他方法生效,示例

<?php
namespace app\index\controller;class Demo extends BaseController{
    protected $middleware = [ // index方法不需要登录,其他的方法需要登录
        \app\index\middleware\Login::class=> ['except'=>['index']]
    ];

    public function index()
    {
        echo 1;
    }

    public function show()
    {
        echo 2;
    }

    public function lists()
    {
        echo 2;
    }}

权限控制

$middleware属性里面写入如下格式

<?php

namespace app\index\controller;class Demo extends BaseController{
    protected $middleware = [
        \app\index\middleware\Login::class,
        \app\index\middleware\Auth::class // 限制权限
    ];

    public function index()
    {
        echo 1;
    }

    public function show()
    {
        echo 2;
    }}

权限控制也支持only、except来限制部分方法生效,使用方式同登录限制一致。



本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com