Remove MySQL root password to match test configuration Co-authored-by: nomeguy <85475922+nomeguy@users.noreply.github.com>
Sequelize Adapter is the Sequelize adapter for Node-Casbin. With this library, Node-Casbin can load policy from Sequelize supported database or save policy to it.
Based on Officially Supported Databases, the current supported databases are:
You may find other 3rd-party supported DBs in Sequelize website or other places.
npm install casbin-sequelize-adapter
import { newEnforcer } from 'casbin'; import { SequelizeAdapter } from 'casbin-sequelize-adapter'; async function myFunction() { // Initialize a Sequelize adapter and use it in a Node-Casbin enforcer: // The adapter can not automatically create database. // But the adapter will automatically create and use the table named "casbin_rule". // I think ORM should not automatically create databases. const a = await SequelizeAdapter.newAdapter({ username: 'root', password: '', database: 'casbin', dialect: 'mysql', }); const e = await newEnforcer('examples/rbac_model.conf', a); // Load the policy from DB. await e.loadPolicy(); // Check the permission. await e.enforce('alice', 'data1', 'read'); // Modify the policy. // await e.addPolicy(...); // await e.removePolicy(...); // Save the policy back to DB. await e.savePolicy(); }
import { newEnforcer } from 'casbin'; import { SequelizeAdapter } from 'casbin-sequelize-adapter'; async function myFunction() { // Initialize a Sequelize adapter and use it in a Node-Casbin enforcer: // The adapter can not automatically create database. // But the adapter will automatically create and use the table named "casbin_rule". // I think ORM should not automatically create databases. const a = await SequelizeAdapter.newAdapter({ username: 'root', password: '', database: 'casbin', dialect: 'mysql', }); const e = await newEnforcer('examples/rbac_model.conf', a); // Load the filtered policy from DB. await e.loadFilteredPolicy({ ptype: 'p', v0: 'alice' }); // Check the permission. await 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.