什么是shiro
shiro是Apache的一个开源安全框架,相对于Spring Security来说,虽然功能不如其强大,但是如果项目要求并不复杂,那么shiro作为一个小而简单的安全框架来使用就完全足够了,在简单性和灵活性方面拥有巨大优势。
shiro可以将系统中安全认证相关的功能抽离出来,实现身份认证,权限授权,加密,会话管理等功能。
主要实现功能包括:
- 验证用户
- 对用户执行访问控制
- 在任何环境下使用SessionAPI
- 可以使用多个用户数据源。如oracle,mysql
- 单点登录(SSO)功能
- “Remember Me”服务
为何使用shiro
因为shiro将安全认证相关的功能抽取出来组成了一个框架,因此使用shiro就可以非常快速的完成认证、授权等功能的开发,降低系统成本。 shiro使用广泛,shiro可以运行在web应用,非web应用,集群分布式应用中越来越多的用户开始使用shiro. Spring中有Spring security(原名Acegi), 是一个权限框架,它和Spring的依赖过于紧密,没有shiro使用简单。shiro不依赖于Spring,而shiro就相对独立最主要是因为shiro使用简单‘灵活,所以现在越来越多的用户选择shiro。
shiro核心组成部分
shiro运行大致流程