1.we open the switch to adapt the default authentication method:
feature_gate: demoIAMAccess:true
the default strategy where we use the casbin
framework to achieve. Also, we can add and delete this route in internal/pkg/iam/demo/policy.csv
that only can be accessed by admin
2.Adopt a customized authentication method
# at first, we should close this switch to support customized authentication method feature_gate: demoIAMAcess:false
// then, we should create struct to implement this interface // parameters explanation. identity -> username(user or admin) resource -> url action -> method // in the method Check, you can customize some way to authenticate these interviewers // if interviewers aren't permitted to request this resource. you can throw an error type Access interface { Check(identity, resource, action string) error } type MyAccess struct{} func (m MyAccess)Check(identity, resource, action string) error { // customized way } func main(){ // add your customized method into APISIX-DashBoard ok := SetAccessImplementation(MyAccess{}) if ok { // add successfully } else { // there is an existing method in dashboard }