You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6 KiB

authz Build Status Coverage Status GoDoc

authz is an authorization middleware for Tango, it's based on


go get

Simple Example

package main

import (

func main() {
	tg := tango.Classic()
	sessions := session.New()

	tg.Use(tango.HandlerFunc(func(ctx *tango.Context) {
		sess := sessions.Session(ctx.Req(), ctx.ResponseWriter)
		sess.Set("casbin_user", "user's name")

	// load the casbin model and policy from files, database is also supported.
	e := casbin.NewEnforcer("examples/basic_model.conf", "examples/basic_policy.csv")
	tg.Use(authz.Auth(&e, sessions))
	// define the routers
	// the access that is denied by authz will return "You have no permission to visit this page"
	tg.Any("*", func() string {
	    // the access is permitted when got here
		return "You have the correct permission"


Getting Help


This project is under MIT License. See the LICENSE file for the full license text.