v0.0.1
Add a readme
1 file changed
tree: 006bc3455c522110dbd222d07f708bc7c6349b61
  1. example/
  2. pkg/
  3. adapter.go
  4. adapter_test.go
  5. docker-compose.yml
  6. go.mod
  7. go.sum
  8. LICENSE
  9. Makefile
  10. README.md
README.md

Casbin Postgres Adapter

Casbin Postgres Adapter is the postgres adapter for Casbin

Installation

$ go get github.com/cychiuae/casbin-pg-adapter

Example

package main

import (
  "os"

  "github.com/casbin/casbin/v2"
  "github.com/cychiuae/casbin-pg-adapter"
)

func main() {
  connectionString := "postgresql://postgres:@localhost:5432/postgres?sslmode=disable"
  tableName := "casbin"
  adapter, err := casbinpgadapter.NewAdapter(connectionString, tableName)
  if err != nil {
    panic(err)
  }

  enforcer, err := casbin.NewEnforcer("./examples/model.conf", adapter)
  if err != nil {
    panic(err)
  }

  // Load stored policy from database
  enforcer.LoadPolicy()

  // Do permission checking
  enforcer.Enforce("alice", "data1", "write")

  // Do some mutations
  enforcer.AddPolicy("alice", "data2", "write")
  enforcer.RemovePolicy("alice", "data1", "write")

  // Persist policy to database
  enforcer.SavePolicy()
}