基本原理:
先设置loginurl,shiro检测到未登录,跳转到设置的登陆controller,在controller中控制返回,达到
统一返回数据格式的目的,解决前后端分离shiro控制跳转问题
- 在shiro配置中添加
@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(securityManager);
shiroFilterFactoryBean.setLoginUrl("/login/index");
filterChainDefinitionMap.put("/login/index", "anon");
}
- 编写controller
@RestController
@RequestMapping("/login")
public class UnloginController {
@GetMapping("/index")
public void index() {
/* 在次处理统一返回 */
}
}