Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MELF晓宇
gin-start
提交
c25c5f3e
G
gin-start
项目概览
MELF晓宇
/
gin-start
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-start
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c25c5f3e
编写于
2月 25, 2022
作者:
MELF晓宇
🤤
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 封装casbin方法
- 更新分布式ID类型 - 增加分布式ID类型健壮性
上级
1de80c88
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
145 addition
and
0 deletion
+145
-0
utils/casbin/roleautjorities.go
utils/casbin/roleautjorities.go
+6
-0
utils/casbin/userrole.go
utils/casbin/userrole.go
+139
-0
未找到文件。
utils/casbin/roleautjorities.go
0 → 100644
浏览文件 @
c25c5f3e
/**
* @Time :2022/2/25 9:29
* @Author :ZhangXiaoyu
*/
package
casbin
utils/casbin/userrole.go
0 → 100644
浏览文件 @
c25c5f3e
/**
* @Time :2022/2/25 9:02
* @Author :ZhangXiaoyu
*/
package
casbin
import
(
"errors"
"github.com/casbin/casbin/v2"
)
// AddRoleForUser
/**
* @Description: 为用户添加角色
* @param e
* @param user
* @param role
* @return err
*/
func
AddRoleForUser
(
e
*
casbin
.
Enforcer
,
user
,
role
string
)
(
err
error
)
{
_
,
err
=
e
.
AddRoleForUser
(
user
,
role
)
if
err
!=
nil
{
return
errors
.
New
(
"为用户添加角色失败:"
+
err
.
Error
())
}
return
}
// AddRolesForUser
/**
* @Description: 为用户添加多个角色
* @param e
* @param user
* @param roles
* @return err
*/
func
AddRolesForUser
(
e
*
casbin
.
Enforcer
,
user
string
,
roles
[]
string
)
(
err
error
)
{
_
,
err
=
e
.
AddRolesForUser
(
user
,
roles
)
if
err
!=
nil
{
return
errors
.
New
(
"为用户批量添加角色失败:"
+
err
.
Error
())
}
return
}
// DeleteRoleForUser
/**
* @Description: 删除用户的一个角色
* @param e
* @param user
* @param role
* @return err
*/
func
DeleteRoleForUser
(
e
*
casbin
.
Enforcer
,
user
,
role
string
)
(
err
error
)
{
_
,
err
=
e
.
DeleteRoleForUser
(
user
,
role
)
if
err
!=
nil
{
return
errors
.
New
(
"删除用户角色失败:"
+
err
.
Error
())
}
return
}
// DeleteAllRolesForUser
/**
* @Description: 删除用户的所有角色
* @param e
* @param user
* @return err
*/
func
DeleteAllRolesForUser
(
e
*
casbin
.
Enforcer
,
user
string
)
(
err
error
)
{
_
,
err
=
e
.
DeleteRolesForUser
(
user
)
if
err
!=
nil
{
return
errors
.
New
(
"删除用户所有角色失败:"
+
err
.
Error
())
}
return
}
// GetRolesForUser
/**
* @Description: 查询用户所有角色
* @param e
* @param user
* @return roles
* @return err
*/
func
GetRolesForUser
(
e
*
casbin
.
Enforcer
,
user
string
)
(
roles
[]
string
,
err
error
)
{
roles
,
err
=
e
.
GetRolesForUser
(
user
)
if
err
!=
nil
{
return
nil
,
errors
.
New
(
"查询用户角色失败:"
+
err
.
Error
())
}
return
}
// GetUsersForRole
/**
* @Description: 查询该角色下的用户
* @param e
* @param role
* @return users
* @return err
*/
func
GetUsersForRole
(
e
*
casbin
.
Enforcer
,
role
string
)
(
users
[]
string
,
err
error
)
{
users
,
err
=
e
.
GetUsersForRole
(
role
)
if
err
!=
nil
{
return
nil
,
errors
.
New
(
"查询角色的用户失败:"
+
err
.
Error
())
}
return
}
// HasRoleForUser
/**
* @Description: 查询用户是否具有角色
* @param e
* @param user
* @param role
* @return has
* @return err
*/
func
HasRoleForUser
(
e
*
casbin
.
Enforcer
,
user
,
role
string
)
(
has
bool
,
err
error
)
{
has
,
err
=
e
.
HasRoleForUser
(
user
,
role
)
if
err
!=
nil
{
return
false
,
errors
.
New
(
"查询用户是否具有角色失败:"
+
err
.
Error
())
}
return
}
func
UpdateRolesForUser
(
e
*
casbin
.
Enforcer
,
user
string
,
roles
[]
string
)
(
err
error
)
{
// 删除用户角色
err
=
DeleteAllRolesForUser
(
e
,
user
)
if
err
!=
nil
{
return
err
}
// 如果用户角色不为空,则为用户添加角色
if
roles
!=
nil
{
err
=
AddRolesForUser
(
e
,
user
,
roles
)
if
err
!=
nil
{
return
err
}
}
return
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录