All Projects → lidianhao123 → egg-rbac

lidianhao123 / egg-rbac

Licence: MIT license
Role Based Access Control for eggjs

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to egg-rbac

Egg Cancan
cancancan like authorization plugin for Egg.js
Stars: ✭ 47 (+46.88%)
Mutual labels:  egg, egg-plugin, eggjs
Cool Admin Api
cool-admin-api 是基于egg.js、typeorm、jwt等封装的api开发脚手架、快速开发api接口
Stars: ✭ 188 (+487.5%)
Mutual labels:  egg, egg-plugin, eggjs
Egg Router Plus
The missing router feature for eggjs
Stars: ✭ 117 (+265.63%)
Mutual labels:  egg, egg-plugin, eggjs
egg-sentry
Sentry Plugin For Egg.js
Stars: ✭ 18 (-43.75%)
Mutual labels:  egg, egg-plugin, eggjs
Egg Graphql
Stars: ✭ 345 (+978.13%)
Mutual labels:  egg, egg-plugin, eggjs
egg-parameters
Merge all parameters (ctx.params, ctx.request.query, ctx.request.body) into ctx.params like Rails application.
Stars: ✭ 24 (-25%)
Mutual labels:  egg, egg-plugin, eggjs
Egg Oauth2 Server
🌟 OAuth2 server plugin for egg.js based on node-oauth2-server
Stars: ✭ 174 (+443.75%)
Mutual labels:  egg, egg-plugin, eggjs
Egg 24time
A Twitter-like news and social server for Egg. 微信小程序社区全栈解决方案
Stars: ✭ 493 (+1440.63%)
Mutual labels:  egg, egg-plugin, eggjs
Egg Authz
egg-authz is an authorization middleware for Egg.js based on Casbin
Stars: ✭ 50 (+56.25%)
Mutual labels:  egg, egg-plugin, eggjs
Blog
天猪部落阁 http://atian25.github.io
Stars: ✭ 1,527 (+4671.88%)
Mutual labels:  egg, eggjs
Egg View Vue
vue view plugin for egg
Stars: ✭ 136 (+325%)
Mutual labels:  egg, egg-plugin
egg-kafka-node
kafka plugin for egg.js
Stars: ✭ 36 (+12.5%)
Mutual labels:  egg, egg-plugin
Egg Passport
passport plugin for egg
Stars: ✭ 98 (+206.25%)
Mutual labels:  egg, egg-plugin
Egg Schedule
Schedule plugin for egg
Stars: ✭ 76 (+137.5%)
Mutual labels:  egg, egg-plugin
Egg View React Ssr
Egg React Server Side Render (SSR) Plugin
Stars: ✭ 55 (+71.88%)
Mutual labels:  egg, egg-plugin
Egg View Ejs
egg view plugin for ejs.
Stars: ✭ 54 (+68.75%)
Mutual labels:  egg, egg-plugin
Egg Multipart
multipart plugin for egg
Stars: ✭ 145 (+353.13%)
Mutual labels:  egg, egg-plugin
egg-view-assets
Manage frontend assets in development and production.
Stars: ✭ 51 (+59.38%)
Mutual labels:  egg, eggjs
Egg Validate
validate plugin for egg
Stars: ✭ 224 (+600%)
Mutual labels:  egg, egg-plugin
Egg Socket.io
socket.io plugin for eggjs.
Stars: ✭ 209 (+553.13%)
Mutual labels:  egg, egg-plugin

egg-rbac

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

中文说明

Install

$ npm i egg-rbac --save

depend on egg version

egg-rbac version egg version
0.3.0 1.x
0.4.0 2.0.0

From 0.4.0 version egg-rbac does not support egg 1.x.

depend on egg plugin

Usage

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

Configuration

config getRoleName

// {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('');
  },
};

Initialize roles and permissions

// {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) },
];

see config/config.unittest.js for more detail.

Example

  1. see rbac-test
  2. practical example egg-rbac-example

Remarks

  • It will create a superadmin role which own all permissions.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].