addGroupingPolicy API interface bug
mynameisny opened this issue · comments
Tony Joseph commented
When using this interface enforcer. addGroupingPolicy ("member", "group") to add user to an group, occured java.lang.NullPointerException:
dependencies pom
<dependency>
<groupId>org.casbin</groupId>
<artifactId>jcasbin</artifactId>
<version>1.31.1</version>
</dependency>
<dependency>
<groupId>org.casbin</groupId>
<artifactId>jdbc-adapter</artifactId>
<version>2.3.3</version>
</dependency>
model.conf
[request_definition]
r = sub, obj, act
[policy_definition]
p = sub, obj, act
[policy_effect]
e = some(where (p.eft == allow))
[matchers]
m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
Application
JDBCAdapter adapter = new JDBCAdapter(driver, url, username, password);
String modelPath = "src/main/resources/cabin/model.conf";
Enforcer enforcer = new Enforcer(modelPath, adapter);
enforcer.addPolicy("admin", "/books", "READ");
boolean policy = enforcer.addGroupingPolicy("tony", "admin"); // Exception in thread "main" java.lang.NullPointerException
casbin-bot commented
nohup commented
Verified, I will fix it.
nohup commented
I took a look and found that this is not a bug, acutrally addGroupingPolicy()
is a role inheritance, so in model.conf
should include a [role_definition]
just look like follows.
[request_definition]
r = sub, obj, act
[policy_definition]
p = sub, obj, act
[role_definition]
g = _, _
[policy_effect]
e = some(where (p.eft == allow))
[matchers]
m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
Eric Luo commented
Closed as resolved
Tony Joseph commented
Thank you very much! @hsluoyz