Closed lissali closed 1 year ago
@tangyang9464 @imp2002
@lissali can you provide a full example code?
import org.casbin.jcasbin.model.Model;
import org.casbin.jcasbin.persist.Adapter;
import org.casbin.jcasbin.persist.file_adapter.FileAdapter;
public class Main {
public static void main(String[] args) {
Model m = new Model();
m.addDef("r", "r", "sub, dom, obj, act");
m.addDef("p", "p", "sub, dom, obj, act");
m.addDef("g", "g", "_, _, _");
m.addDef("e", "e", "some(where (p.eft == allow))");
m.addDef("m", "m", "g(r.sub, p.sub, r.dom) && keyMatch(r.dom, p.dom) && keyMatch(r.obj, p.obj) && regexMatch(r.act, p.act)");
Adapter adapter = new FileAdapter("examples/rbac_with_domain_pattern_policy.csv");
Enforcer e = new Enforcer(m, adapter);
e.enforce("alice", "domain1", "data1", "read");
}
}
examples/rbac_with_domain_pattern_policy.csv:
p, admin, domain1, data1, read
p, admin, domain1, data1, write
p, admin, domain2, data2, read
p, admin, domain2, data2, write
g, alice, admin, *
g, bob, admin, domain2
Result:
Did reproduce your error.
Closed as stale
this is my model:
m.addDef("r", "r", "sub, dom, obj, act"); m.addDef("p", "p", "sub, dom, obj, act"); m.addDef("g", "g", ", , _"); m.addDef("e", "e", "some(where (p.eft == allow))"); m.addDef("m", "m", "g(r.sub, p.sub, r.dom) && keyMatch(r.dom, p.dom) && keyMatch(r.obj, p.obj) && regexMatch(r.act, p.act)");
when try to enforce for the first time, get the error : define class error
com.googlecode.aviator.exception.CompileExpressionErrorException: define class error at com.googlecode.aviator.code.asm.ASMCodeGenerator.getResult(ASMCodeGenerator.java:819) at com.googlecode.aviator.code.OptimizeCodeGenerator.getResult(OptimizeCodeGenerator.java:416) at com.googlecode.aviator.parser.ExpressionParser.parse(ExpressionParser.java:976) at com.googlecode.aviator.parser.ExpressionParser.parse(ExpressionParser.java:981) at com.googlecode.aviator.AviatorEvaluatorInstance.innerCompile(AviatorEvaluatorInstance.java:1365) at com.googlecode.aviator.AviatorEvaluatorInstance.compile(AviatorEvaluatorInstance.java:1328) at org.casbin.jcasbin.main.CoreEnforcer.enforce(CoreEnforcer.java:492) at org.casbin.jcasbin.main.CoreEnforcer.enforce(CoreEnforcer.java:632)