zoukankan      html  css  js  c++  java
  • 同一地址,不同服务,其中一个退出,另一个也会退出springboot+shiro

    说明:

    在服务器上部署了两个服务,其中,除了端口不同,其他都一样;

    现象:其中一个服务退出,另一个也会退出;

    原因:浏览器存储cookie的名称相同,所以会清理掉;

    解决方案:在shiro配置文件中,更新不同的cookiename与remember的名称

       @Value("${session.cookie.name}")
        private String sessionCookieName;
    
        @Value("${session.cookie.remember}")
        private String remember;
    
      
    
        @Bean(name = "simpleIdCookie")
        public SimpleCookie getSimpleCookie() {
            SimpleCookie simpleCookie = new SimpleCookie();
            simpleCookie.setName(null==sessionCookieName?"SHIROSESSIONID":sessionCookieName);
    //        simpleCookie.setName("SHIROSESSIONID");
            return simpleCookie;
        }
        @Bean
        public SimpleCookie rememberMeCookie() {
            SimpleCookie simpleCookie = new SimpleCookie(null==remember?"rememberMe":remember);
    //        SimpleCookie simpleCookie = new SimpleCookie("rememberMe");
            simpleCookie.setMaxAge(86400);//存活  一天
            return simpleCookie;
        }

    还看到别的相似的,记录一下:

    spring boot 多模块,多端口session冲突问题
    解决办法:在其中一个项目的application.properties配置文件中加入如下配置:server.servlet.session.cookie.name
    =sessionid_1 问题原因:这本身和springboot2.0没有任何关系,是因为在同一个地址上发布了两个使用同样cookie name的tomcat导致的,springboot内置的tomcat会生成一个名称为JSESSIONID的cookie name,如果不做修改,两个web服务的cookie name是相同的所以会彼此覆盖,所以需要去修改springboot内置tomcat的cookie name让两个项目的cookie name不同。 需要注意springboot2.0之前的版本是server.session.cookie.name,而2.0之后改为了server.servlet.session.cookie.name,此处为一个坑。 2.0以上版本 server.servlet.session.cookie.name=session_1 2.0以下版本 server.session.cookie.name=session_1
  • 相关阅读:
    SMTP 服务器要求安全连接或客户端未通过身份验证的各个解决方案(C#)
    远程数据同步的三种方法
    粗俗易懂的SQL存储过程在.NET中的实例运用之二
    SSIS脚本组件的代码
    浅谈C# StackTrace 类的实例说明
    解决了:无法加载文件或程序集'stdole, Version=7.0.3300.0'
    收藏: .NET中类型的转换
    WCF 实例 —— Android 短信助手 (WCF + Android)
    粗俗易懂的SQL存储过程在.NET中的实例运用
    此发送邮件的代码对吗?
  • 原文地址:https://www.cnblogs.com/notchangeworld/p/13186059.html
Copyright © 2011-2022 走看看