casbin-adapter is a LuaSQL based adapter for Casbin that supports policies from SQL-based databases (MySQL, PostgreSQL, SQLite3).
First, install the corresponding driver of LuaSQL from LuaRocks based on the database you use:
Then install the casbin-adapter from LuaRocks by
sudo luarocks install https://raw.githubusercontent.com/casbin-lua/luasql-adapter/master/casbin-adapter-1.0.0-1.rockspec
To create a new Casbin Enforcer using a MySQL adapter, use:
local Enforcer = require("casbin") local Adapter = require("casbin.mysql") local a = Adapter:new(database, user, password, hostname, port) -- hostname, port are optional local e = Enforcer:new("/path/to/model.conf", a) -- creates a new Casbin enforcer with the model.conf file and the database
For other adapters, replace local Adapter = require("casbin.mysql") with:
local Adapter = require("casbin.postgres") for PostgreSQL adapter.local Adapter = require("casbin.sqlite3") for SQLite3 adapter. In SQLite3 adapter, only database field is required and others are optional.This project is under Apache 2.0 License. See the LICENSE file for the full license text.