Redis Adapter Save

Redis adapter for Casbin

Project README

Redis Adapter

Go Report Card Build Coverage Status Godoc Release Discord Sourcegraph

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

Installation

go get github.com/casbin/redis-adapter/v3

Simple Example

package main

import (
	"github.com/casbin/casbin/v2"
	"github.com/casbin/redis-adapter/v3"
)

func main() {
	// Direct Initialization:
	// Initialize a Redis adapter and use it in a Casbin enforcer:
	a, _ := redisadapter.NewAdapter("tcp", "127.0.0.1:6379") // Your Redis network and address.

	// Use the following if Redis has password like "123"
	// a, err := redisadapter.NewAdapterWithPassword("tcp", "127.0.0.1:6379", "123")

	// Use the following if you use Redis with a specific user 
	// a, err := redisadapter.NewAdapterWithUser("tcp", "127.0.0.1:6379", "username", "password")

	// Use the following if you use Redis connections pool
	// pool := &redis.Pool{}
	// a, err := redisadapter.NewAdapterWithPool(pool)

	// Initialization with different user options:
	// Use the following if you use Redis with passowrd like "123":
	// a, err := redisadapter.NewAdapterWithOption(redisadapter.WithNetwork("tcp"), redisadapter.WithAddress("127.0.0.1:6379"), redisadapter.WithPassword("123"))

	// Use the following if you use Redis with username, password, and TLS option:
	// var clientTLSConfig tls.Config
	// ...
	// a, err := redisadapter.NewAdapterWithOption(redisadapter.WithNetwork("tcp"), redisadapter.WithAddress("127.0.0.1:6379"), redisadapter.WithUsername("testAccount"), redisadapter.WithPassword("123456"), redisadapter.WithTls(&clientTLSConfig))

	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.

Open Source Agenda is not affiliated with "Redis Adapter" Project. README Source: casbin/redis-adapter
Stars
189
Open Issues
1
Last Commit
2 months ago
License

Open Source Agenda Badge

Open Source Agenda Rating