Categorygithub.com/peterdeka/mongodb-adapter
modulepackage
0.0.0-20180214104510-6ced5de6f4de
Repository: https://github.com/peterdeka/mongodb-adapter.git
Documentation: pkg.go.dev

# README

MongoDB Adapter Build Status Coverage Status Godoc

MongoDB Adapter is the Mongo DB adapter for Casbin. With this library, Casbin can load policy from MongoDB or save policy to it.

Installation

go get github.com/casbin/mongodb-adapter

Simple Example

package main

import (
	"github.com/casbin/casbin"
	"github.com/casbin/mongodb-adapter"
)

func main() {
	// Initialize a MongoDB adapter and use it in a Casbin enforcer:
	// The adapter will use the database named "casbin".
	// If it doesn't exist, the adapter will create it automatically.
	a := mongodbadapter.NewAdapter("127.0.0.1:27017") // Your MongoDB URL. 
	
	// 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 := mongodbadapter.NewAdapter("127.0.0.1:27017/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()
}

Getting Help

License

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

# Functions

NewAdapter is the constructor for Adapter.
NewAdapterWithDB is the constructor for Adapter that uses an already existing Mongo DB connection.

# Structs

CasbinRule represents a rule in Casbin.