阶段5 3.微服务项目【学成在线】_day18 用户授权_14-细粒度授权-我的课程细粒度授权-需求分析
2024-08-27 21:55:17
3.3 我的课程细粒度授权
3.3.1 需求分析
1、我的课程查询,细粒度授权过程如下:
1)获取当前登录的用户Id
2)得到用户所属教育机构的Id
3)查询该教学机构下的课程信息
最终实现了用户只允许查询自己机构的课程信息。
2、修改课程管理服务“我的课程”的功能,根据公司Id查询课程,思路如下:
1)修改Dao,支持根据公司Id 查询课程。
2)修改Service,将公司Id传入Dao。
3)修改Controller,获取当前用户的公司Id,传给Service。
3、数据模型分析如下:
1)课程表
在xc_course数据库的course_base 表中添加company_id字段,来表示此课程的归属
2)用户企业表
在xc_user数据库的xc_company_user表中记录了用户的归属公司信息
通过xc_company_user表可得到用户的所属公司Id。
如何查询某个用户的课程?
1、确定用户的Id
2、根据用户的Id查询用户归属的公司。
3、根据公司Id查询该公司下的课程信息
一个例子:
/*确定用户的id:49*/
/*根据用户Id查找所属公司*/
SELECT company_id FROM xc_user.xc_company_user WHERE user_id = '49'
/*根据公司查询所拥有的课程*/
SELECT * FROM xc_course.course_base WHERE company_id = '1'
最新文章
- WPF 窗口自适应
- PAT 1012. 数字分类 (20)
- makefile示例
- Linux 下部署单机 hadoop 测试
- [Windows] php开发工具,zendstudio13使用方法补丁
- C#实现数据结构——线性表(下)
- How to configure Gzip for JBoss?---refer
- 在 .NET Framework 2.0上使用LINQ
- spring 配置和实例
- idea中output log4j中文乱码
- [ SharePoint ADFS 开发部署系列 (一)]
- STL:vector容器用法详解
- javascript访问html元素的内容(1)
- 提高Maven下载jar包的速度
- vue中的computed(计算属性)和watch(监听属性)的特点,以及深度监听
- qtp中type方法的按键常量
- 关于微信内置浏览器在ios上播放提示音的经验分享
- linux下last与lastb命令详解
- 数据特征分析:3.统计分析 &; 帕累托分析
- ios之单例模式