shiro结合springboot使用
1、shiro的主要架构和角色
Apache Shiro is a powerful and flexible open-source security framework that cleanly handles authentication, authorization, enterprise session management and cryptography.
来自shiro的官网言简意赅的介绍:shiro是强大,灵活的开源安全框架。主要功能包含认证,授权,会话管理和加密!
shiro的架构图
主要角色
- subject:简单来说就是用户。
- securityManager:安全管理器,shiro 的核心组件!管理authenticator(认证器)authorizer(授权器),realm,sessionManager等!
- realm:域,相当于用户信息的数据源。我们可以从realm中获取用户的认证信息和权限信息。
2、基本配置
注入三个bean
- ShiroFilterFactoryBean
@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(@Qualifier("manager") DefaultWebSecurityManager manager){
ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
//设置安全管理器
shiroFilter.setSecurityManager(manager);
Map<String, String> hashMap = new LinkedHashMap<>();
//添加认证过滤器,默认常用过滤器anon,authc
hashMap.put("/", "anon");
hashMap.put("/user/tologin", "anon");
hashMap.put("/user/login", "anon"