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 ];}
只限制特定方法需要登录,其他方法不需要登录可以使用下面两个参数
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; }}
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来限制部分方法生效,使用方式同登录限制一致。