您现在的位置是:首页 > java技术交流java技术交流

shiro 退出 设置跳转页面

上善若水2020-12-19 16:33:36【java技术交流】 3739人已围观

简介shiro 只带过滤器已经实现了退出功能,我们只需配置下退出后重定向到登录页面即可,而且我们需要写实现退出的控制器方法. @Bean public ShiroFilterFactory

shiro 只带过滤器已经实现了退出功能,我们只需配置下退出后重定向到登录页面即可,而且我们需要写实现退出的控制器方法.

    @Bean
    public ShiroFilterFactoryBean shiroFilterFactoryBean(DefaultWebSecurityManager securityManager) {
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(securityManager);
        Map<String, String> map = new HashMap<>();
        Map<String, Filter> filters = shiroFilterFactoryBean.getFilters();
        //修改退出重定向页面
        LogoutFilter logout = new LogoutFilter();
        logout.setRedirectUrl("/admin/login");
        filters.put("logout", logout);
        map.put("/admin/**", "authc");
        map.put("/admin/logout", "logout");
        map.put("/**", "anon");
        //登录
        shiroFilterFactoryBean.setLoginUrl("/admin/login");
        //错误页面,认证不通过跳转
//        shiroFilterFactoryBean.setUnauthorizedUrl("/error");
        shiroFilterFactoryBean.setFilterChainDefinitionMap(map);
        return shiroFilterFactoryBean;
    }

核心代码

 Map<String, Filter> filters = shiroFilterFactoryBean.getFilters();
 //修改退出重定向页面
 LogoutFilter logout = new LogoutFilter();
 logout.setRedirectUrl("/admin/login");
map.put("/admin/logout", "logout");

setRedirectUrl为退出后重定向的页面,若不填写 直接跳转到网站根目录/
map.put("/admin/logout", "logout");第一个参数为我们点击退出的的链接.

Tags: shiro

很赞哦! (13)

随机图文

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计247篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们