goAcl is simple access control list (ACL) package, provides basic ACL features in order to control and manage roles and resources in your app.
$ go get github.com/yaronsumel/goAcl
import and create new goAcl instance
import "github.com/yaronsumel/goAcl"
acl := goAcl.NewAcl()
first we need to create user roles
guest := acl.AddRole("guest")
member := acl.AddRole("member")
now we need to add possible app resources
acl.AddResource("view")
acl.AddResource("edit")
guest.AllowResource("view")
member.AllowResource("edit").Inherits(guest)
member.DenyResource("view")
//get the role from user
role,err := acl.GetRole("member")
if role.IsAllowed("edit"){
//user can edit things now
}