Casbin Auth
CasbinAuth adapts any value with this method:
Enforce(args ...any) (bool, error)That keeps Zinc free of a hard Casbin dependency while still working with Casbin enforcers.
app.Use(middleware.CasbinAuth(enforcer, middleware.CasbinSubjectFromBasicAuth()))By default Zinc enforces:
enforcer.Enforce(subject, c.Path(), c.Method())Use CasbinAuthWithConfig to choose a different subject, object, or action.
app.Use(middleware.CasbinAuthWithConfig(middleware.CasbinAuthConfig{ Enforcer: enforcer, Subject: middleware.CasbinSubjectFromContext(userKey), Object: middleware.CasbinObjectPath(), Action: middleware.CasbinActionMethod(),}))