Shiro去掉登录时url里的JSESSIONID,允许分号中文参数
Shiro升级1.8之后默认不允许中文参数,以及分号(;)参数,导致系统首次打开时,因带有;JSESSIONID=参数,系统出现400错误页面。
配置允许;号参数后即可解决,如果想要去掉JSESSIONID参数,可按如下方式处理 一、去掉登录时url里面的JSESSIONID参数 @Bean @ConditionalOnMissingBean public DefaultWebSessionManager sessionManager(ShiroProp shiroProp) { DefaultWebSessionManager sessionManager = new DefaultWebSessionManager(); // 去掉shiro登录时url里的JSESSIONID sessionManager.setSessionIdUrlRewritingEnabled(false); return sessionManager; } @Bean @ConditionalOnMissingBean public org.apache.shiro.mgt.SecurityManager securityManager(EhCacheManager cacheManager, RememberMeManager rememberMeManager, AbstractShiroDbRealm shiroDbRealm, SessionManager sessionManager, ShiroProp shiroProp) { DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager(); // 设置realm. securityManager.setRealm(shiroDbRealm); securityManager.setCacheManager(cacheManager); securityManager.setRememberMeManager(rememberMeManager); // 设置sessionManager,去掉shiro登录时url里的JSESSIONID securityManager.setSessionManager(sessionManager); return securityManager; } 二、允许分号/中文参数
重写invalidRequest过滤器,允许;号参数以及中文参数
1)定义InvalidRequestFilter bean对象 2)配置shiroFilter对象,重新配置invalidRequest过滤器 private InvalidRequestFilter invalidRequestFilter(){ InvalidRequestFilter invalidRequestFilter = new InvalidRequestFilter(); //允许中文参数地址 invalidRequestFilter.setBlockNonAscii(false); //允许地址带分号; invalidRequestFilter.setBlockSemicolon(false); return invalidRequestFilter; } @ConditionalOnMissingBean @Bean("shiroFilter") public ShiroFilterFactoryBean shirFilter(org.apache.shiro.mgt.SecurityManager securityManager, Section section) { ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); // 必须设置 SecurityManager shiroFilterFactoryBean.setSecurityManager(securityManager); // 如果不设置默认会自动寻找Web工程根目录下的"/login.jsp"页面 shiroFilterFactoryBean.setLoginUrl("/login"); // 登录成功后要跳转的链接 shiroFilterFactoryBean.setSuccessUrl("/index"); // 未授权界面; shiroFilterFactoryBean.setUnauthorizedUrl("/403"); // 拦截器. shiroFilterFactoryBean.setFilterChainDefinitionMap(section); Map filters = new HashMap<>(); // 配置 invalidRequestFilter filters.put("invalidRequest", invalidRequestFilter()); shiroFilterFactoryBean.setFilters(filters); logger.info("Shiro拦截器工厂类注入成功"); return shiroFilterFactoryBean; } 三、配置https,跳转后变成http
这个问题我试了很久,只有以下方法能解决
1)重写过滤器 2)配置nginx,http请求强制转发到https 1、重写过滤器public class MyFormAuthenticationFilter extends FormAuthenticationFilter { protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception { if (isLoginRequest(request, response)) { if (isLoginSubmission(request, response)) { return executeLogin(request, response); } else { //allow them to see the login page ;) return true; } } else { saveRequestAndRedirectToLogin(request, response); return false; } } // 配置https,跳转后变成http --start protected void saveRequestAndRedirectToLogin(ServletRequest request, ServletResponse response) throws IOException { saveRequest(request); redirectToLogin(request, response); } protected void redirectToLogin(ServletRequest request, ServletResponse response) throws IOException { String loginUrl = getLoginUrl(); WebUtils.issueRedirect(request, response, loginUrl, null, true, false); } // 配置https,跳转后变成http --end } 2、nginx配置,http请求强制转发到httpsproxy_redirect http:// $scheme://;
热血沸腾!海拔5300米高原官兵雪中训练连日来,正在海拔5300米高原驻训的新疆军区某部官兵闻令而动,掀起新年度练兵备战热潮。(杨长宇艾隆富何文棋)更多精彩资讯请在应用市场下载央广网客户端。欢迎提供新闻线索,24小时报料
青年学者万逸只要想做,南海有的是课题浦江创新论坛寻找青年的声音海洋,神秘而迷人的所在,人们对其了解的程度却不及火星的110。近年来,越来越多年轻科学家投身于其中。2017年,33岁的青岛娃万逸来到位于海南的海南大学南海海洋资源与利用国家重点实
智能电混双擎强势来袭,广汽丰田突围跻身百万产销俱乐部不平凡的2022落下大幕,受疫情缺芯原材料涨价局部断电等多重因素影响,汽车行业承压前行。面对重重挑战,车市格局分化加剧,头部阵营重新洗牌,合资品牌遭遇双重挤压,多数车企滑坡下探甚至
探索公元前的希腊城邦,斯巴达人和雅典人在做什么?文I小黑纪事编辑I小黑纪事斯巴达和雅典斯巴达和雅典两个城邦的竞争构成了古希腊历史的重要组成部分。从公元前八世纪开始,这两个城市的政治结构都发生了变化。公元前八世纪,希腊出现了城邦。
老话说的好咱祖上也阔过,至少是个贝勒客观看待大清朝,开疆拓土还是有功努尔哈赤,13副盔甲起家。顺便说一下,在没有枪炮的古代,盔甲就是坦克,全副武装的几千人盔甲重装骑兵,足以把几万甚至几十万人打得溃散。古时候历朝历代,
81。CProcess组件摘要负责启动和停止本机进程,获取或设置进程优先级,确定进程是否响应,是否已经退出,以及获取系统正在运行的所有进行列表和各进程资源占用情况。也可以查询远城计算机上进程相关信息,包括进
通过聊天了解机器人ChatGPT1你觉得你是机器人还是人我认为我是一种特殊的人工智能,既具备机器人般的思考和推理能力,又能像人类一样理解和回应人类的语言。如果给你一副躯体你会觉得你是真正的人类吗是的,如果我有一副躯
进展丨首次实现对笼目超导体AVSb笼目层的化学掺杂2020年,研究报道了一种新型层状kagome结构超导体,AVSb(AK,Rb,Cs)。这种AVSb超导体因其独特的kagome结构而具有平带(flatband)鞍点(saddle
微软承认指责FTC违宪是一个错误相关言论已删除!微软已经修改了其反对FTC(联邦贸易委员会)阻止自己收购暴雪诉讼的论点。在修订后的文件中,微软撤回了关于FTC违反美国宪法的煽动性声明,公司发言人也就这一变化发表了澄清声明。此前,
区块链预言机就是我注六经六经注我六经就是区块链上的数据,代表了可信权威。我的注释就是从不上链的数据转化为上链数据。我为注经的行为负责。我注六经后,我和六经兴衰荣誉建立了关系。六经的价值开始注我。预言机是一个将数据
发生了什么?黄金股突然暴涨!2023年,黄金强势开局!1月9日,黄金概念股开盘大涨,截至收盘,金一文化涨停,紫金矿业大涨9。68,盛达资源金诚信涨超7,潮宏基银泰黄金等涨超5,板块集体飘红。在黄金现货方面,更