安全框架--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 中的过滤器