packcage accessflags is Martini handler to enable Access Control, such as role-based access control support, Through an flag of integer kind.
package main
import (
"github.com/martini-contrib/accessflags""github.com/codegangsta/martini"
)
const (
rolePassAll=0roleRobot=1roleSignOn=2roleAdmin=4|roleSignOn
)
funcmain() {
m:=martini.Classic()
m.Use(judge) // first Map flag for rolem.Get("/profile", accessflags.Forbidden(roleSignOn), profileHandler)
m.Get("/admin", accessflags.Forbidden(roleAdmin), adminHandler)
m.Run()
}
funcjudge(c martini.Context) martini.Handler{
// somethingc.Map(roleRobot) // roleSignOn...
}
funcadminHandler() string{
// somethingreturn"hello"
}
funcprofileHandler() string{
// somethingreturn"profile"
}