Protobuf Adapter is the Google Protocol Buffers adapter for Casbin. With this library, Casbin can load policy from Protocol Buffers or save policy to it.
go get github.com/casbin/protobuf-adapter
package main import ( "github.com/casbin/casbin" "github.com/casbin/protobuf-adapter" ) func main() { // Initialize a Protobuf adapter and use it in a Casbin enforcer: b := []byte{} // b stores Casbin policy in Protocol Buffers. a := protobufadapter.NewProtobufAdapter(&b) // Use b as the data source. e := casbin.NewEnforcer("examples/rbac_model.conf", a) // Load the policy from Protocol Buffers bytes b. e.LoadPolicy() // Check the permission. e.Enforce("alice", "data1", "read") // Modify the policy. // e.AddPolicy(...) // e.RemovePolicy(...) // Save the policy back to Protocol Buffers bytes b. e.SavePolicy() }
This project is under Apache 2.0 License. See the LICENSE file for the full license text.