Skip to content

Latest commit

 

History

History
113 lines (85 loc) · 2.75 KB

README.zh_CN.md

File metadata and controls

113 lines (85 loc) · 2.75 KB

egg-rbac

NPM version build status Test coverage David deps Known Vulnerabilities npm download

安装

$ npm i egg-rbac --save

依赖的 egg 版本

egg-rbac 版本 egg 版本
0.3.0 1.x
0.4.0 2.0.0

从 0.4.0 版本开始 egg-rbac 不在支持 egg 1.x 版本

依赖的插件

开启插件

// config/plugin.js
exports.rbac = {
  enable: true,
  package: 'egg-rbac',
};

详细配置

配置获取角色名称

// {app_root}/config/config.default.js
exports.rbac = {
  /**
   * @param {object} ctx - egg context object
   * @return {object} promise, if resolve data is falsy, no role
   */
  * getRoleName(ctx) {
    return Promise.resolve('');
  },
};

配置系统初始化权限和角色

// {app_root/config/rbac.js}
'use strict';

exports.permissions = [
  // action_resource
  // { name: 'create_user', alias: '创建用户' },
  // { name: 'delete_user', alias: '删除用户' },
  // { name: 'query_user', alias: '查询用户' },
  // { name: 'edit_user', alias: '修改用户' },
];

exports.roles = [
  // { name: 'admin', alias: '管理员', grants: exports.permissions.map(item => item.name) },
];

请到 config/config.unittest.js 查看详细配置项说明。

例子

  1. 请参考测试示例 rbac-test
  2. 实际使用例子 egg-rbac-example

说明

  • 系统自动创建一个 superadmin 角色具备所有权限。

License

MIT