【发布时间】:2012-11-19 12:44:11
【问题描述】:
我想定义从 spring security 设置的 session cookie 的路径,以允许从 web-app 进行多次登录。例如:
http://localhost:8080/myApp/context1/login
http://localhost:8080/myApp/context2/login
http://localhost:8080/myApp/context3/login
...
这基本上可以通过覆盖LoginUrlAuthenticationEntryPoint、SimpleUrlAuthenticationFailureHandler、SimpleUrlAuthenticationSuccessHandler、SimpleUrlLogoutSuccessHandler来实现。但是我找不到负责设置 cookie 上下文路径的处理程序,我需要从以下位置覆盖:
/myApp
到适当的等价物:
/myApp/context1
这是必需的,以便允许并行登录这些应用程序。
Q:tomcat如何动态改变session cookie(HttpSession)的cookie路径?
【问题讨论】:
-
恐怕您想要实现无需修改会话即可轻松完成的事情。您的问题看起来更像是授权而不是身份验证。也许您需要为每个上下文使用角色?还是访问控制列表?
-
对于并发身份验证并允许用户拥有多个会话,配置 ConcurrentSessionFilter 并将 maximumSession 属性设置为 -1 以允许 ConcurrentSessionControlStrategy 中的无限会话是否足够?
-
@Ravi:可能,你能解决一下吗? cookie如何区分文件夹?
-
@crudolf,但是为什么需要区分cookie路径。请提供您想要达到的目标以获得更好的解决方案的要求。
-
也许 [this thread (last answer)][1] 中说明的方法是您想要的?! [1]:serverfault.com/questions/401574/…
标签: tomcat grails spring-security