Documentation
¶
Overview ¶
Package authz provides handlers to enable ACL, RBAC, ABAC authorization support. Simple Usage:
import(
"github.com/astaxie/beego"
"github.com/astaxie/beego/plugins/authz"
"github.com/hsluoyz/casbin"
)
func main(){
// mediate the access for every request
beego.InsertFilter("*", beego.BeforeRouter, authz.NewAuthorizer(casbin.NewEnforcer("authz_model.conf", "authz_policy.csv")))
beego.Run()
}
Advanced Usage:
func main(){
e := casbin.NewEnforcer("authz_model.conf", "")
e.AddRoleForUser("alice", "admin")
e.AddPolicy(...)
beego.InsertFilter("*", beego.BeforeRouter, authz.NewAuthorizer(e))
beego.Run()
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAuthorizer ¶
func NewAuthorizer(e *casbin.Enforcer) beego.FilterFunc
NewAuthorizer returns the authorizer. Use a casbin enforcer as input
Types ¶
type BasicAuthorizer ¶
type BasicAuthorizer struct {
// contains filtered or unexported fields
}
BasicAuthorizer stores the casbin handler
func (*BasicAuthorizer) CheckPermission ¶
func (a *BasicAuthorizer) CheckPermission(r *http.Request) bool
CheckPermission checks the user/method/path combination from the request. Returns true (permission granted) or false (permission forbidden)
func (*BasicAuthorizer) GetUserName ¶
func (a *BasicAuthorizer) GetUserName(r *http.Request) string
GetUserName gets the user name from the request. Currently, only HTTP basic authentication is supported
func (*BasicAuthorizer) RequirePermission ¶
func (a *BasicAuthorizer) RequirePermission(w http.ResponseWriter)
RequirePermission returns the 403 Forbidden to the client
Click to show internal directories.
Click to hide internal directories.