认证授权概述
发布于 2024-07-18
873
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
springboot葵花宝典
扫码关注公众号
扫码阅读
手机扫码阅读
认证授权概述
本文介绍了认证与授权的概念,并详细说明了相关的权限数据模型、RBAC权限模型,以及常见的认证方式。
1. 什么是认证
认证是确认用户的身份合法性,使其能够访问系统资源的过程。常见认证方式包括账号密码登录、手机验证码登录、指纹登录等。
2. 什么是授权
授权是在用户通过认证后,根据其权限控制其访问资源的过程。授权的核心是“谁(Who)对什么资源(What)进行怎么样(How)的操作”。
3. 权限数据模型
权限数据模型包含主体(用户)、资源(如商品信息、页面按钮)、权限(对资源的操作许可)。通过主体、资源和权限的关系图及表结构,进一步优化权限与资源的关联。
4. RBAC权限模型
4.1 基于角色的访问控制
RBAC模型通过角色进行授权。例如,总经理可以查询工资信息。角色权限变更时需要修改代码,扩展性较差。
4.2 基于资源的访问控制
RBAC模型通过资源标识进行授权。例如,定义“查询工资”权限标识,不论角色如何变化无需修改授权代码,系统扩展性更强。
5. 常见认证方式
5.1 Cookie-Session
通过Session记录用户登录状态并存储在Cookie中,用于浏览器场景。缺点包括跨域问题、CSRF风险,以及后端内存资源浪费。
5.2 JWT令牌无状态认证
JSON Web Token通过算法生成令牌,客户端存储令牌并在请求时附加到Header中。优点包括无状态认证、传输效率高、支持存储非敏感业务信息。
6. 常见技术实现
- Apache Shiro: Apache旗下的安全框架。
- SpringSecurity: Spring体系中的安全框架,包含认证和授权功能。
- CAS: 支持单点登录(SSO)的服务。
- 自行实现: 使用代码基于过滤器或拦截器实现认证授权,开发成本高。
本文对认证授权进行了全面的概述,同时介绍了相关技术实现。如果您觉得有帮助,欢迎分享和关注!
springboot葵花宝典
springboot葵花宝典
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
springboot葵花宝典的其他文章
Stream 详解
Stream 详解
Spring Boot Security + JWT Token 的简单应用
今天,我们在Spring Boot示例中学到关于Spring Security和基于JWT令牌的身份验证的有趣知识。尽管我们写了很多代码,但我希望你能理解应用程序的整体架构,并轻松地将其应用到你的项目中。
解密微服务雪崩:保护您的应用免受灾难性故障的威胁
随着微服务架构的广泛应用,应用程序的复杂性已经得到了显著提高,但与之同时,微服务雪崩问题也开始引起广泛关注。微服务雪崩是指在微服务架构中,一个或多个微服务出现故障或不可用时,导致整个系统的不稳定甚至崩溃。
分库分表方式
分库分表方式
VUE深度解析
VUE深度解析ES6语法-var-const-let用法详解 javascript作用域javascript
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线