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.
We currently support the following SQL systems:
- pg
- mysql
- mysql2
- sqlite3
- oracledb
- mssql
npm i casbin-basic-adapter
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();
This project is under Apache 2.0 License. See the LICENSE file for the full license text.