安全框架--Apache Shiro
Apache Shiro 是 Java 的一个安全框架。功能强大,使用简单的 Java 安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。
实际上,Shiro 的主要功能是管理应用程序中与安全相关的全部,同时尽可能支持多种实现方法。Shiro 是建立在完善的接口驱动设计和面向对象原则之上的,支持各种自定义行为。Shiro 提供的默认实现,使其能完成与其他安全框架同样的功能,这不也是我们一直努力想要得到的吗!
Apache Shiro 相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。
Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。这不就是我们想要的嘛,而且Shiro 的 API 也是非常简单。
认证和授权
明确:
我们登录要做两件事。
第一:认证。认证指的是匹配用户名和密码,让平台认识你。
第二:授权。授权指的是当前认证的用户进入平台能操作什么。
传统登录方式
步骤如下:
1、Controller 接收请求数据
包含用户名和密码
2、调用 Service 去数据库查询
根据 Contoller 提供的用户名和密码
3、判断是否有结果返回
4、如果有返回对象
把返回的用户对象存入 Session 域中
5、如果没有返回对象
直接前往登录页面,并提示登录失败
shiro 登录方式
shiro 中的过滤器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了