spring boot — shiro
简单的需要三步,1:shiro的配置类,2:userRealm(用户的授权与认证逻辑),3:loginController
- shiro配置类
/**
* shiro配置类
*/
@Configuration
public class ShiroConfig {
/**
* 创建ShiroFilterFactoryBean
*/
@Bean
public ShiroFilterFactoryBean getShiroFilterFactoryBean(){
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
//设置安全管理器
shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager());
/**
* 添加Shiro内置过滤器
* 常用的过滤器
* anon: 无需认证(登录) 可以访问
* authc: 必须认证才可以访问
* user:如果使用rememberMe的功能才可以访问
* perms:该资源必须得到资源权限才可以访问
* role:该资源必须得到角色权限才可以访问
*
*/
Map<String,String> filterMap = new LinkedHashMap<>();
//将first路径过滤为必须登录
//可以使用/*通配所有页面
filterMap.put("/first","authc");
filterMap.put("/second","authc");
//设置/second为
filterMap.put("/second","perms[vip1,vip2]");
filterMap.put("/first","perms[vip1]");
//配置upd路径无需登陆即可访问
filterMap.put("/youke","anon");
//设置shiro的自带登出效果
filterMap.put("/logout","logout");
//设置自动跳转登录页
shiroFilterFactoryBean.setLoginUrl("/toLogin");