1.SpringBoot整合Shiro环境搭建
首先导入maven依赖,导入shiro-spring与shiro-web依赖。
org.thymeleaf thymeleaf3.0.12.RELEASE org.thymeleaf.extras thymeleaf-extras-java8time3.0.4.RELEASE org.apache.shiro shiro-spring1.8.0 org.apache.shiro shiro-web1.8.0
2.在config包下创建ShiroConfig类
@Configuration
public class ShiroConfig {
//ShiroFilterFactoryBean3
@Bean
public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("securityManager") DefaultWebSecurityManager defaultWebSecurityManager){
ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
//设置安全管理器
bean.setSecurityManager(defaultWebSecurityManager);
Map filterMap = new linkedHashMap<>();
filterMap.put("/user/add","authc");
filterMap.put("/user/update","authc");
bean.setFilterChainDefinitionMap(filterMap);
return bean;
}
//DafaultWebSecurityManager2
@Bean(name="securityManager")
public DefaultWebSecurityManager getDefaultWebSecurityManager(@Qualifier("userRealm") UserRealm userRealm){
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
//关联UserRealm
securityManager.setRealm(userRealm);
return securityManager;
}
//创建realm对象,需要自定义1
@Bean
public UserRealm userRealm(){
return new UserRealm();
}
}
//自定义的UserRealm
public class UserRealm extends AuthorizingRealm {
//授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
System.out.println("执行了=>授权doGetAuthorizationInfo");
return null;
}
//认证
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
System.out.println("执行了=>认证doGetAuthenticationInfo");
return null;
}
}
在html页面进行测试:



