ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础之《shiro概念》

2021-12-06 17:30:22  阅读:144  来源: 互联网

标签:Java 登录 角色 用户 概念 权限 shiro Subject


1、为什么要使用shiro?
项目中的密码是否可以明文存储
是否任意访客,无论是否登录都可以访问任何功能
项目中的各种功能操作,是否是所有用户都可以随意使用

2、shiro主要做四件事:
1、authentication:身份认证(登录)
2、authorization:授权,知道你身份后,根据身份找到你的权限
3、cryptography:密码学,加密支撑
4、session management:会话管理,登录后把你的登录信息、登录状态存入

3、shiro三个组件:
Subject:个体。当我们调用某个功能时,我们先找到Subject,由Subject某些个方法,完成最终的功能调用
SecurityManager:Subject底层调用SecurityManager。SecurityManager等价于SpringMVC中的DispatcherServlet。核心地位,除了加密之外的所有行为都由它调度
Realms:区域。注入Service查数据。等价于SpringMVC中的DAO

4、RBAC模型(Role Base Access Controll 基于角色的访问控制)
模型中3个主体:用户、角色、权限
每个角色可以有多个权限,每个权限可以分配给多个角色
每个用户可以有多个角色,每个角色可以分配给多个用户
两个多对多

角色把用户和权限的关系解耦了
基础表:5张(用户表、角色表、用户-角色关联表、权限表、角色-权限关联表)
更精细:用户组表、角色组表

5、权限访问控制,做的事是:
身份校验:判断是否为合法用户
权限校验:用户要做某件事或使用某些资源,必须拥有某角色,或必须拥有某权限
 

标签:Java,登录,角色,用户,概念,权限,shiro,Subject
来源: https://blog.csdn.net/csj50/article/details/121751640

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有