Open jeffries opened 7 years ago
Hi, I'm the author of casbin. It is an authorization library that supports models like ACL, RBAC, ABAC.
Related to RBAC, casbin has several advantages:
And you can even customize your own access control model, for example, mix RBAC and ABAC together by using roles and attributes at the same time. It's very flexible.
So please consider using casbin when chatbotmgmt implements access control security. Also let me know if there's any question :)
The management API currently implements no authentication or access control logic; this is problematic, as it will be possible to push arbitrarily many messages to subscribers from this API. As such, authentication logic is necessary before initial deployment.
There is a hook in
main.go
in the form of theAuthenticateRequest
function that is intended for this purpose (implemented as a filter loaded into the router). This method currently passes the request to the next handler; it should instead inspect the request and either pass the request on, or break the filter chain and return an unauthorized/forbidden response. The specific logic for authorization and access control is left to the implementor.