遇到问题----shrio------shiro登录,多个项目session被覆盖问题---两个web项目会导致shiro的session污染



情况


遇到问题----shrio------shiro登录,多个项目session被覆盖问题---一个项目两个web模块会导致shiro的session污染

表现为 我在同一台机子上部署了两个都使用了shiro管理的web项目。

它们的访问路径除了端口不一样,ip是一样的。

当两个系统同时访问时,在一个系统中操作之后另一个系统就会自动退出登录。

但是 如果用域名访问就不会出现这个问题。



原因


web项目的session管理  cookie的名称冲突,两个web项目用了同样的cookie名一样导致的。



解决方法

修改设置cookie名称即可。

这个根据我们自己对项目的了解 cookie是在哪个地方设置的名称,一般有几个地方。


web.xml

一个是web.xml中



_crmid

COOKIE



name这里设置成不一样的即可。


shiro.xml

shiro中可以设置sessionIdCookie.name

 
   
       
        **
        **
   

2个web模块,分别设置不同的sessionIdCookie的name即可。

还有另外一种是这样设置

   
 
   
   
 
 
 


 
   
       
       
       
   




   




tomcat

最后tomcat的设置也有可能

tomcat下的server.xml中添加sessionCookieName,A项目设置为A_SESSION,B项目设置为B_SESSION。

"" docBase="webapp" debug="0" reloadable="false" sessionCookiePath="/" sessionCookieName="A_SESSION"/>




你可能感兴趣的:(web,java,shiro,springMVC,遇到问题)