shiro配置三大步
1.导入依赖
org.apache.shiro
shiro-core
1.2.2
2.编写shiroRealm并且继承AuthorizingRealm
@Component
public class AccountRealm extends AuthorizingRealm {
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
System.out.println(“授权”);
return null;
}
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
//获取token对象
// UsernamePasswordToken token = (UsernamePasswordToken) authenticationToken;
// //根据username查询
// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
// wrapper.equals(token.getUsername());
// MUser one = imUserService.getOne(wrapper);
// //非空判断
// if(one != null) return new SimpleAuthenticationInfo(one,one.getPassword(),one.getUsername());
System.out.println(“认证”);
return null;
}
3.编写shiroConfig配置类
@Configuration
public class ShiroConfig {
@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(@Qualifier("manager") DefaultWebSecurityManager manager){
ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();
bean.setSecurityManager(manager);
return bean;
}
@Bean(name="manager")
public DefaultWebSecurityManager defaultWebSecurityManager(@Qualifier("accountRealm") AccountRealm accountRealm){
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(accountRealm);
return securityManager;
}
@Bean
public AccountRealm accountRealm(){
return new AccountRealm();
}
}