刷新页面会导致重新登录?

时间:2013-03-01 06:28:08

标签: jsp shiro

我在项目中配置了shiro以进行用户名/密码验证。 '过滤器'和'网址'如下。

[filters]   
authc.loginUrl = /login.jsp 
shiro.loginUrl = /login.jsp 
[urls]   
/login.jsp = anon, authc 
/index.jsp = authc 

现在,当我们访问index.jsp时,它会重定向到login.jsp,即使我只是刷新index.jsp。

如果我刷新index.jsp,如果缓存仍然知道该用户已经登录,我该如何让它继续保持在index.jsp上?

顺便说一句,我还没有配置缓存管理器,因此在启动时它会弹出错误,如'org.apache.shiro.realm.AuthorizingRealm - 没有设置缓存或缓存管理器属性。无法获取授权缓存。我可以配置如下(我只使用shiro core& web)?

builtInCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager 
securityManager.cacheManager = $builtInCacheManager 

1 个答案:

答案 0 :(得分:1)

刚开始shiro但这个链接应该有帮助:http://raibledesigns.com/rd/entry/java_web_application_security_part2请参阅“结论”部分。最值得注意的是authc如何在当前会话中强制执行身份验证(据我所知,这取决于当前的线程调用,可能使用本地线程),因此您不需要authc但需要特定的角色。或者像示例案例中的用户,因为这意味着您是一个知道用户...这与经过身份验证的用户不同(更强的陈述)。

此外,如果区别不明确:使用shiro进行身份验证意味着您刚刚输入了用户/通行证,您知道必须是用户。记住的用户已登录,但如果会话未到期,您仍然登录,您可以离开,其他人可以坐下来。还有一些情况,例如大额支付或其他安全操作(警察或其他敏感信息),您可能需要专门为该服务请求凭据。