权限控制

HunterPHP目前为止,支持简单权限控制,方法如下:

1)在模块根目录下,创建xxx.permissions.yml文件, 定义类似这样:

access admin page:
  title: 'Access admin page'
  _callback: 'Hunter\admin\AdminPermission::auth'  

2)在模块的src/目录下,创建对应的权限控制器,如AdminPermission.php文件

3)在控制器里写自己的权限控制逻辑,如:

<?php

namespace Hunter\admin;

/**
 * Provides admin module permission auth.
 */
class AdminPermission {

  /**
   * Returns bool value of admin permission.
   *
   * @return bool
   */
  public function auth() {
    if (!$session = session()->get('hunter_admin')) {
      return redirect('/admin/login');
    }else{
      return true;
    }
  }

}

4)然后在你需要加上权限控制里的路由里加上_permission关键字,比如:

admin.admin_admin_index:
  path: '/admin/index'
  defaults:
    _controller: '\Hunter\admin\Controller\AdminController::admin_index'
    _title: 'Admin Index'
  requirements:
    _permission: 'access admin page'

像这样, 就实现了简单的权限控制。

HunterPHP - 用心与你沟通