java Apache shiro和JSESSIONID
我正在测试ApacheShiro,刚刚构建了位于https://github.com/pires/simple-shiro-web-app的简单演示
这只是shiro的一个简单用法,它尝试使用jdbcrealm进行身份验证。除了
Shiro在成功完成会话后不会更改SESSIONID 认证。这意味着当用户 到达登录页面,并且在用户通过身份验证后到达
还注意到,在成功验证后,如果我关闭
浏览器,下次打开并导航到该页面时,我需要登录 又进来了
这是shiro的惯常行为吗。如果是,为什么
# 1 楼答案
如前所述,shiro不会在用户登录时生成新ID。不过,您可以自己轻松实现这一点:
Reference
# 2 楼答案
AFAIK shiro在登录时不会更改会话id。我确实在我的项目中使用了它,但没有看到它确实改变会话id的迹象。我认为这只是他们不支持的一个功能。当我切换到spring时,我遇到了各种各样的问题,因为spring确实支持这种行为
至于你的第二点,我认为这与会议的持续时间有关。该会话可能配置为仅持续到浏览器关闭。如果Shiro使用url重写来维护会话,它将不得不请求另一个登录,因为url上的会话id后缀将丢失。有了cookie,这种行为可以得到支持,尽管实现这一点的典型方法是使用“记住我”cookie