项目作者: pardjs

项目描述 :
Make magic with Nest.js, Casbin and TypeORM.
高级语言: TypeScript
项目地址: git://github.com/pardjs/nest-casbin.git
创建时间: 2019-02-21T07:46:54Z
项目社区:https://github.com/pardjs/nest-casbin

开源协议:

下载


nest-casbin

Make magic with Nest.js, Casbin and TypeORM.

Example

In YOUR_PROJECT_ROOT/src/app.module.ts file:

  1. import { Module } from "@nestjs/common";
  2. import { AppController } from "./app.controller";
  3. import { AppService } from "./app.service";
  4. import { CasbinModule } from "@pardjs/nest-casbin";
  5. @Module({
  6. imports: [
  7. CasbinModule.forRootAsync(
  8. {
  9. type: "mysql",
  10. host: "localhost",
  11. port: 3306,
  12. username: "root",
  13. password: "",
  14. database: "casbin"
  15. },
  16. "/path/to/the/casbin/model/file.conf"
  17. )
  18. ],
  19. controllers: [AppController],
  20. providers: [AppService]
  21. })
  22. export class AppModule {}

in `YOUR_PROJECT_ROOT/src/app.service.ts file:

  1. import { Injectable, Inject } from "@nestjs/common";
  2. import { Enforcer } from "casbin";
  3. import { CASBIN_ENFORCER, CasbinService } from "@pardjs/nest-casbin";
  4. @Injectable()
  5. export class AppService {
  6. constructor(
  7. @Inject(CASBIN_ENFORCER) private readonly enforcer: Enforcer,
  8. private readonly casbinService: CasbinService
  9. ) {}
  10. getHello(): string {
  11. return this.casbinService.checkPermission("alice", "data1", "read");
  12. }
  13. }