Nestjs 中基于角色和属性的访问控制实现

nest-access-control 模块为 Nestjs 构建了基于角色和属性的访问控制系统。该模块具有以下特点:

  • 友好的 API: 提供易于使用的 API,例如 ac.can(role).create(resource),用于权限检查。
  • 角色层次继承: 支持角色层次结构,简化权限管理。
  • 灵活的权限定义: 可以一次性定义多个权限(例如,从数据库结果中),也可以逐个定义。
  • 基于属性的访问控制: 支持通过全局符号定义的属性授予或拒绝权限,并支持嵌套对象。
  • 数据过滤: 能够根据允许的属性过滤数据(模型)实例。

该模块构建在 https://github.com/stalniy/casl 库之上,提供了强大的访问控制功能。

zip
nest-access-control-master.zip 预估大小:68个文件
folder
nest-access-control-master 文件夹
file
.travis.yml 273B
folder
example 文件夹
file
package.json 2KB
file
.prettierrc 51B
file
nest-cli.json 64B
folder
src 文件夹
file
app.module.ts 380B
file
main.ts 208B
file
auth.guard.ts 432B
file
app.controller.ts 533B
file
app.service.ts 246B
file
app.roles.ts 727B
file
.eslintrc.js 599B
file
tsconfig.json 336B
file
README.md 3KB
file
yarn.lock 291KB
file
tsconfig.build.json 97B
file
package.json 1KB
file
tslint.json 738B
file
.prettierrc 109B
file
gulpfile.js 586B
file
LICENSE 1KB
file
package-lock.json 246KB
folder
src 文件夹
file
role.interface.ts 1KB
file
ac-options.interface.ts 113B
file
access-control.module.ts 2KB
file
access-control.module.async.spec.ts 3KB
file
roles-builder.class.ts 206B
file
access-control.guard.ts 1KB
folder
decorators 文件夹
file
use-roles.decorator.ts 278B
file
user-roles.decorators.ts 531B
file
inject-roles-builder.decorator.ts 226B
file
index.ts 130B
file
grants.controller.spec.ts 965B
file
grants.controller.ts 405B
file
constants.ts 56B
file
index.ts 600B
file
.npmignore 959B
file
tsconfig.json 513B
file
.gitignore 928B
file
CHANGELOG.md 783B
folder
lib 文件夹
file
role.interface.d.ts 1KB
file
access-control.guard.js 2KB
file
index.js 691B
file
package.json 1KB
file
grants.controller.js 2KB
file
access-control.module.js 3KB
file
ac-options.interface.js 77B
file
constants.d.ts 64B
folder
decorators 文件夹
file
index.js 319B
file
use-roles.decorator.js 306B
file
user-roles.decorators.js 558B
file
use-roles.decorator.d.ts 263B
file
index.d.ts 130B
file
inject-roles-builder.decorator.d.ts 174B
file
inject-roles-builder.decorator.js 314B
file
user-roles.decorators.d.ts 333B
file
roles-builder.class.js 333B
file
role.interface.js 77B
file
index.d.ts 235B
file
ac-options.interface.d.ts 122B
file
README.md 7KB
file
access-control.guard.d.ts 582B
file
access-control.module.d.ts 905B
file
constants.js 128B
file
grants.controller.d.ts 196B
file
roles-builder.class.d.ts 215B
file
jest.json 485B
file
README.md 8KB
file
yarn.lock 176KB
...
zip 文件大小:273.61KB