你用 Go 写过中间件吗?带你用 Gin 实现【用户角色权限管理中间件】
需求整理
管理后台有超管权限,超管拥有所有权限
普通管理员可以设置角色,角色单选
角色可以赋予多个权限,权限多选
这样我们就实现了对普通管理员的角色和权限的灵活管理
文档说明
基于 golang 语言开发
基于 gin 网络框架开发
基于 MySQL5.8 开发
把权限管理部分封装成中间件,在 rourter 文件中引用
非核心代码已省略,用 3 个竖着排列的点号.表示
数据库表结构设计
管理员表
权限表
角色表
角色表 permission 字段示意
代码部分
路由文件
复制代码
权限校验中间件代码
复制代码
角色 model 层代码
CheckRolePermission 是关键代码
复制代码
运行效果
有权限
复制代码
无权限
复制代码
后续
下一章封装管理后台的操作日志管理:以中间件+goroutine 的方式保存管理员的操作日志
一起学习,升级打怪
我们搞了一个对学 Go 真正有帮助的群,欢迎加入:
公众号:程序员升级打怪之旅
微信号:wangzhongyang1993
版权声明: 本文为 InfoQ 作者【王中阳Go】的原创文章。
原文链接:【http://xie.infoq.cn/article/b9546e066f5ce0288fa9d0c0d】。文章转载请联系作者。
评论 (1 条评论)