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'

最新文章

  1. WPF 窗口自适应
  2. PAT 1012. 数字分类 (20)
  3. makefile示例
  4. Linux 下部署单机 hadoop 测试
  5. [Windows] php开发工具,zendstudio13使用方法补丁
  6. C#实现数据结构——线性表(下)
  7. How to configure Gzip for JBoss?---refer
  8. 在 .NET Framework 2.0上使用LINQ
  9. spring 配置和实例
  10. idea中output log4j中文乱码
  11. [ SharePoint ADFS 开发部署系列 (一)]
  12. STL:vector容器用法详解
  13. javascript访问html元素的内容(1)
  14. 提高Maven下载jar包的速度
  15. vue中的computed(计算属性)和watch(监听属性)的特点,以及深度监听
  16. qtp中type方法的按键常量
  17. 关于微信内置浏览器在ios上播放提示音的经验分享
  18. linux下last与lastb命令详解
  19. 数据特征分析:3.统计分析 & 帕累托分析
  20. ios之单例模式

热门文章

  1. CQRS的全称是Command Query Responsibility Segregation
  2. Nginx基本参数调优
  3. G1垃圾收集器官方文档透彻解读【官方解读】
  4. 【PAT-并查集-水题】L2-007-家庭房产
  5. queue模块笔记
  6. 看完100篇Python技术精华文章,平均涨薪30%!
  7. 前端学习笔记--CSS样式--背景和超链接
  8. Git报错:Permission denied (publickey)
  9. vmware 共享文件夹不显示文件的问题
  10. 基于css文件编写一个简单的html前端页面