核心就是配置中的 rules 选项
增加权限验证 只需要在 rules 数组中增加条目即可
#project\app\admin\config\login.php
// +----------------------------------------------------------------------
// | 登录注册相关配置
// +----------------------------------------------------------------------
return [
// 无权访问拦截地址
'no_access_url' => env('manage_login_url', '/admin/login/no_access'),
// 路由访问限制
// 如果配置一个 空数组, 表示不验证权限,直接访问
//
// anonymous 表示可用匿名访问, 不登录
// login 表示登录后可用访问
// other 表示需要指定的权限可以访问 (直接写自己定义的权限名称)
//
'rules' => [
'^/admin/*' => 'login',
'^/admin/login/.*' => 'anonymous',
// 为了方便演示,首页不用登录,其他页面都需要登录
'^/admin/index/' => 'anonymous',
// ... 其他路由规则,权限配置,在这里增加就好了
]
];
在 tp 的中间件中读取 rules配置
采用的是正则匹配, 用rules数组中的 key 匹配当前 url
取匹配度最高的一条,作为当前访问url的权限