authz

gin-authz is an authorization middleware for Gin

  • Owner: gin-contrib/authz
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Authz

Build Status
codecov
Go Report Card
GoDoc
Join the chat at https://gitter.im/gin-gonic/gin

Authz is an authorization middleware for Gin, it's based on https://github.com/casbin/casbin.

Installation

go get github.com/gin-contrib/authz

Simple Example

package main

import (
    "net/http"

    "github.com/casbin/casbin"
    "github.com/gin-contrib/authz"
    "github.com/gin-gonic/gin"
)

func main() {
    // load the casbin model and policy from files, database is also supported.
    e := casbin.NewEnforcer("authz_model.conf", "authz_policy.csv")

    // define your router, and use the Casbin authz middleware.
    // the access that is denied by authz will return HTTP 403 error.
    router := gin.New()
    router.Use(authz.NewAuthorizer(e))
}

Documentation

The authorization determines a request based on {subject, object, action}, which means what subject can perform what action on what object. In this plugin, the meanings are:

  1. subject: the logged-on user name
  2. object: the URL path for the web resource like "dataset1/item1"
  3. action: HTTP method like GET, POST, PUT, DELETE, or the high-level actions you defined like "read-file", "write-blog"

For how to write authorization policy and other details, please refer to the Casbin's documentation.

Getting Help

License

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

Main metrics

Overview
Name With Ownergin-contrib/authz
Primary LanguageGo
Program languageGo (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2017-05-29 03:39:49
Pushed At2025-08-18 23:05:22
Last Commit At2025-08-14 22:01:56
Release Count7
Last Release Namev1.0.5 (Posted on )
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count798
Watchers Count11
Fork Count59
Commits Count114
Has Issues Enabled
Issues Count8
Issue Open Count0
Pull Requests Count13
Pull Requests Open Count3
Pull Requests Close Count63
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private