Redis WatcherEx for jCasbin

Clone this repo:
  1. 588b487 docs: update README.md (#14) by Liao Xin · 1 year, 6 months ago master
  2. 41dba86 feat: upgrade CI Node.js version to 20 (#13) by Liao Xin · 1 year, 6 months ago v1.1.0
  3. 42cec39 feat: fix pom.xml to fix CI for publishing to https://central.sonatype.com (#12) by Liao Xin · 1 year, 6 months ago
  4. a5d9825 feat: refactor the test module and fix ci bug (#10) by Chang Jing Chen · 2 years, 8 months ago v1.0.0
  5. 981cf31 feat: setup semantic-release (#7) by Chang Jing Chen · 2 years, 9 months ago

Redis WatcherEx

build Maven Central


Installation

For Maven:

<dependency>
    <groupId>org.casbin</groupId>
    <artifactId>jcasbin-redis-watcher-ex</artifactId>
    <version>1.1.0</version>
</dependency>

Simple Example

package org.casbin.watcherEx;

import io.lettuce.core.RedisURI;
import org.casbin.jcasbin.main.Enforcer;


public class Main {

    public static void main(String[] args) {
        // Initialize the RedisWatcher.
        // Use the Redis host and port as parameters.
        WatcherOptions options = new WatcherOptions();
        options.setChannel("jcasbin-channel");
        options.setOptions(RedisURI.builder().withHost("your ip").withPort(6379).build());

        RedisWatcherEx redisWatcherEx = new RedisWatcherEx(options);
        
        // Set the update callback.
        redisWatcherEx.setUpdateCallback((msg) ->{
            System.out.println(msg);
        });

        // Initialize the JCasbin enforcer.
        Enforcer enforcer = new Enforcer("examples/rbac_model.conf", "examples/rbac_policy.csv");
        // Set the watcher for the enforcer.
        enforcer.setWatcher(redisWatcherEx);

        // Update the policy to test the effect.
        // You should see "[casbin rules updated]" in the log.
        enforcer.savePolicy();

        // Only exists in test (Wait for input to keep the program running)
        Scanner scanner = new Scanner(System.in);
        scanner.nextLine();
    }
}

Getting Help

License

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