Redis adapter for PyCasbin

Clone this repo:
  1. 0d1efc1 feat: load policy with a single LRANGE instead of one LINDEX per rule (#4) by Joe · 3 weeks ago master
  2. bb808b6 fix: use approved actions in CI and release on tags only by Yang Luo · 3 weeks ago
  3. 9bd7825 chore(release): 1.5.0 [skip ci] by semantic-release-bot · 1 year, 2 months ago v1.5.0
  4. ac6c57c feat: fix README badges (#2) by Theo · 1 year, 2 months ago
  5. b8052a3 chore(release): 1.4.0 [skip ci] by semantic-release-bot · 1 year, 2 months ago v1.4.0

Redis Adapter for PyCasbin

build Coverage Status Version PyPI - Wheel Pyversions Download Discord

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

Installation

pip install casbin_redis_adapter

Simple Example

import casbin_redis_adapter
import casbin

adapter = casbin_redis_adapter.Adapter('localhost', 6379)

e = casbin.Enforcer('path/to/model.conf', adapter, True)

sub = "alice"  # the user that wants to access a resource.
obj = "data1"  # the resource that is going to be accessed.
act = "read"  # the operation that the user performs on the resource.

if e.enforce(sub, obj, act):
    # permit alice to read data1casbin_sqlalchemy_adapter
    pass
else:
    # deny the request, show an error
    pass

Configuration

Adapter() enable decode_responses by default and supports any Redis parameter configuration.

To use casbin_redis_adapter, you must provide the following parameter configuration

  • host: address of the redis service
  • port: redis service port

The following parameters are provided by default

  • db: redis database, default is 0
  • username: redis username, default is None
  • password: redis password, default is None
  • key: casbin rule to store key, default is casbin_rules

For more parameters, please follow redis-py

Getting Help

License

This project is licensed under the Apache 2.0 license.