Xorm Adapter

Xorm adapter for Casbin
Alternatives To Xorm Adapter
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Gorm Adapter596716 days ago53July 03, 2022apache-2.0Go
GORM adapter for Casbin, see extended version of GORM Adapter Ex at: https://github.com/casbin/gorm-adapter-ex
Xorm Adapter359118 months ago11January 20, 2022apache-2.0Go
Xorm adapter for Casbin
Casbin Server260244 months ago6December 21, 20223apache-2.0Go
Casbin as a Service (CaaS)
Mongodb Adapter23159 months ago12September 16, 2022apache-2.0Go
MongoDB adapter for Casbin
Protobuf Adapter186
6 years agoMay 24, 2021apache-2.0Go
Google Protocol Buffers adapter for Casbin
Redis Adapter182
4 months ago2January 20, 2022apache-2.0Go
Redis adapter for Casbin
Rethinkdb Adapter148
a year agoMay 22, 20211mitGo
RethinkDB adapter for Casbin https://github.com/casbin/casbin
Dynacasbin143
2 years agoGo
DynamoDB adapter for Casbin
Sqlalchemy Adapter63
17 days ago12September 09, 2021apache-2.0Python
SQLAlchemy Adapter for PyCasbin
Typeorm Adapter60255 days ago14August 04, 20221apache-2.0TypeScript
TypeORM adapter for Casbin
Alternatives To Xorm Adapter
Select To Compare


Alternative Project Comparisons
Readme

Xorm Adapter Go Coverage Status Go Report Card Godoc

Xorm Adapter is the Xorm adapter for Casbin. With this library, Casbin can load policy from Xorm supported database or save policy to it.

Based on Xorm Drivers Support, The current supported databases are:

Installation

go get github.com/casbin/xorm-adapter/v2

Simple MySQL Example

package main

import (
	"github.com/casbin/casbin/v2"
	_ "github.com/go-sql-driver/mysql"

	"github.com/casbin/xorm-adapter/v2"
)

func main() {
	// Initialize a Xorm adapter and use it in a Casbin enforcer:
	// The adapter will use the MySQL database named "casbin".
	// If it doesn't exist, the adapter will create it automatically.
	a, _ := xormadapter.NewAdapter("mysql", "mysql_username:[email protected](127.0.0.1:3306)/") // Your driver and data source. 

	// Or you can use an existing DB "abc" like this:
	// The adapter will use the table named "casbin_rule".
	// If it doesn't exist, the adapter will create it automatically.
	// a := xormadapter.NewAdapter("mysql", "mysql_username:[email protected](127.0.0.1:3306)/abc", true)

	e, _ := casbin.NewEnforcer("examples/rbac_model.conf", a)
	
	// Load the policy from DB.
	e.LoadPolicy()
	
	// Check the permission.
	e.Enforce("alice", "data1", "read")
	
	// Modify the policy.
	// e.AddPolicy(...)
	// e.RemovePolicy(...)
	
	// Save the policy back to DB.
	e.SavePolicy()
}

Simple Postgres Example

package main

import (
	"github.com/casbin/casbin/v2"
	_ "github.com/lib/pq"

	"github.com/casbin/xorm-adapter/v2"
)

func main() {
	// Initialize a Xorm adapter and use it in a Casbin enforcer:
	// The adapter will use the Postgres database named "casbin".
	// If it doesn't exist, the adapter will create it automatically.
	a, _ := xormadapter.NewAdapter("postgres", "user=postgres_username password=postgres_password host=127.0.0.1 port=5432 sslmode=disable") // Your driver and data source.

	// Or you can use an existing DB "abc" like this:
	// The adapter will use the table named "casbin_rule".
	// If it doesn't exist, the adapter will create it automatically.
	// a := xormadapter.NewAdapter("postgres", "dbname=abc user=postgres_username password=postgres_password host=127.0.0.1 port=5432 sslmode=disable", true)

	e, _ := casbin.NewEnforcer("../examples/rbac_model.conf", a)

	// Load the policy from DB.
	e.LoadPolicy()

	// Check the permission.
	e.Enforce("alice", "data1", "read")

	// Modify the policy.
	// e.AddPolicy(...)
	// e.RemovePolicy(...)

	// Save the policy back to DB.
	e.SavePolicy()
}

Getting Help

License

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

Popular Casbin Projects
Popular Adapter Projects
Popular Security Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Golang
Mysql
Postgresql
Adapter
Orm
Authorization
Access Control
Casbin
Tidb
Storage Driver