Skip to content

node-casbin/basic-adapter

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Basic Adapter

NPM version NPM download Build Status

Basic Adapter is a basic driver adapter for Node-Casbin which supports pg, sqlite3, mysql, mysql2, and mssql. With this library, Node-Casbin can load policy from or save policy to supported persistence systems.

Drives

We currently support the following SQL systems:

  • pg
  • mysql
  • mysql2
  • sqlite3
  • oracledb
  • mssql

Installation

npm i casbin-basic-adapter

Simple Example

import { newEnforcer } from 'casbin';
import { Client } from 'pg';
import { BasicAdapter } from 'casbin-basic-adapter';

async function myFunction() {
  // Initialize a Basic adapter and use it in a Node-Casbin enforcer:
  // The adapter can not automatically create database.
  // But the adapter will automatically and use the table named "casbin_rule".
  const a = await BasicAdapter.newAdapter('pg',
    new Client({
      user: 'postgres',
      database: 'postgres',
      password: 'postgres',
    }));

  const e = await newEnforcer('examples/rbac_model.conf', a);

  // Check the permission.
  e.enforce('alice', 'data1', 'read');

  // Modify the policy.
  // await e.addPolicy(...);
  // await e.removePolicy(...);

  // Save the policy back to DB.
  await e.savePolicy();

Getting Help

License

This project is under Apache 2.0 License. See the LICENSE file for the full license text.

About

A basic adapter supports pg, sqlite3, mysql, mysql2, oracledb and mssql.

Resources

License

Stars

Watchers

Forks

Packages

No packages published