阶段5 3.微服务项目【学成在线】_day18 用户授权_14-细粒度授权-我的课程细粒度授权-需求分析

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'



 

posted @ 2019-10-11 12:08  高山-景行  阅读(344)  评论(0编辑  收藏  举报