123456789101112131415161718192021222324252627282930 |
- package middleware
- import (
- "gin-vue-admin/global/response"
- "gin-vue-admin/model"
- "github.com/gin-gonic/gin"
- )
- //拦截器
- func CasbinHandler() gin.HandlerFunc {
- return func(c *gin.Context) {
- claims, _ := c.Get("claims")
- waitUse := claims.(*CustomClaims)
- //获取请求的URI
- obj := c.Request.URL.RequestURI()
- //获取请求方法
- act := c.Request.Method
- //获取用户的角色
- sub := waitUse.AuthorityId
- e := model.Casbin()
- //判断策略中是否存在
- if e.Enforce(sub, obj, act) {
- c.Next()
- } else {
- response.Result(response.ERROR, gin.H{}, "权限不足", c)
- c.Abort()
- return
- }
- }
- }
|