项目作者: edomosystems

项目描述 :
RQLite adapter for Casbin https://github.com/casbin/casbin
高级语言: Go
项目地址: git://github.com/edomosystems/rqlite-adapter.git
创建时间: 2017-08-25T13:18:57Z
项目社区:https://github.com/edomosystems/rqlite-adapter

开源协议:Apache License 2.0

下载


RQLite Adapter

GoDoc

This adapter is the RQLite adapter for Casbin. With this library, Casbin can load policies from RQLite databases or save policies to it which will then be distributed over the RQLite cluster.

Installation

  1. go get github.com/edomosystems/rqlite-adapter

Simple Example

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/casbin/casbin"
  5. "github.com/edomosystems/rqlite-adapter"
  6. )
  7. func main() {
  8. /* Specify the http api url your
  9. * rqlite node is listening on */
  10. adapter := rqliteadapter.NewAdapter("http://10.10.40.23:4001")
  11. enforcer := casbin.NewEnforcer("model.conf", adapter, false)
  12. enforcer.LoadPolicy()
  13. enforcer.EnableAutoSave(true)
  14. enforcer.AddRoleForUser("alice", "admin")
  15. enforcer.AddRoleForUser("bob", "guest")
  16. enforcer.AddPermissionForUser("admin", "file", "read")
  17. enforcer.AddPermissionForUser("admin", "file", "write")
  18. enforcer.AddPermissionForUser("guest", "file", "read")
  19. enforcer.Enforce("alice", "file", "read") // -> True
  20. enforcer.Enforce("alice", "file", "write") // -> True
  21. enforcer.Enforce("bob", "file", "read") // -> True
  22. enforcer.Enforce("bob", "file", "write") // -> False
  23. /* Simple role hirearchie */
  24. enforcer.AddRoleForUser("chalie", "interim")
  25. enforcer.AddRoleForUser("interim", "guest") // interim inherits from guest
  26. enforcer.Enforce("charlie", "file", "read") // -> True
  27. enforcer.Enforce("charlie", "file", "write") // -> False
  28. }

Getting Help

License

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