Java的新项目学成在线笔记-day18(七)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java的新项目学成在线笔记-day18(七),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1408字,纯文字阅读大概需要3分钟。
内容图文
![Java的新项目学成在线笔记-day18(七)](/upload/InfoBanner/zyjiaocheng/737/5075ed8e62eb4667a576f0e0d5b0fa48.jpg)
3 细粒度授权 3.1 需求分析
什么是细粒度授权?
细粒度授权也叫数据范围授权,即不同的用户所拥有的操作权限相同,但是能够操作的数据范围是不一样的。一个 例子:用户A和用户B都是教学机构,他们都拥有“我的课程”权限,但是两个用户所查询到的数据是不一样的。
本项目有哪些细粒度授权?
比如:
我的课程,教学机构只允许查询本教学机构下的课程信息。
我的选课,学生只允许查询自己所选课。
如何实现细粒度授权?
细粒度授权涉及到不同的业务逻辑,通常在service层实现,根据不同的用户进行校验,根据不同的参数查询不同的 数据或操作不同的数据。
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字段,来表示此课程的归属
通过xc_company_user表可得到用户的所属公司Id。
如何查询某个用户的课程?
1、确定用户的Id
2、根据用户的Id查询用户归属的公司。
3、根据公司Id查询该公司下的课程信息
一个例子:
[mw_shl_code=applescript,true]/确定用户的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'[/mw_shl_code]
内容总结
以上是互联网集市为您收集整理的Java的新项目学成在线笔记-day18(七)全部内容,希望文章能够帮你解决Java的新项目学成在线笔记-day18(七)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。