- 开始添加casbin做角色,权限管理

This commit is contained in:
gazebo
2019-08-06 11:26:08 +08:00
parent 407844aa81
commit 438879ac4f
11 changed files with 427 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
package casbinauth
import (
"git.rosy.net.cn/jx-callback/business/authz"
"github.com/casbin/casbin"
)
type CasbinAuthz struct {
enforcer *casbin.SyncedEnforcer
}
func New(modelFile string) (authObj authz.IAuthz, err error) {
obj := &CasbinAuthz{}
obj.enforcer, err = casbin.NewSyncedEnforcer(modelFile, NewAdapter())
return obj, err
}
func (c *CasbinAuthz) AddStoreRole4User(userID string, storeID int) (err error) {
return c.AddRole4User(userID, authz.GenStoreRoleName(storeID))
}
func (c *CasbinAuthz) DelStoreRole4User(userID string, storeID int) (err error) {
return c.DelRole4User(userID, authz.GenStoreRoleName(storeID))
}
func (c *CasbinAuthz) AddRole4User(userID, roleName string) (err error) {
_, err = c.enforcer.AddRoleForUser(userID, roleName)
return err
}
func (c *CasbinAuthz) DelRole4User(userID, roleName string) (err error) {
_, err = c.enforcer.DeleteRoleForUser(userID, roleName)
return err
}
func (c *CasbinAuthz) GetUserRoleList(userID string) (roleList []string, err error) {
roleList, err = c.enforcer.GetRolesForUser(userID)
return roleList, err
}
func (c *CasbinAuthz) GetRoleUserList(roleName string) (userIDList []string, err error) {
userIDList, err = c.enforcer.GetUsersForRole(roleName)
return userIDList, err
}