我目前使用shiro和tapestry-security插件来管理本地会话并保留数据。当通过SecurityUtils.getSubject().getSession()
获得会话时,一切正常。但是,这意味着该应用程序充斥着shiro特定代码的碎片。由于shiro使用servlet会话API,有没有办法以对应用程序透明的方式来做到这一点,并希望仍然允许我使用注释,如@Persist
和@SessionState
?更改挂毯中的默认会话行为
0
A
回答
0
我装饰TapestrySessionFactory返回shiro会话,而不是包装HttpServletSession。界面并不完全相同,因此需要一个(非常)简单的强制功能。我得到了我所需要的:与shiro相关的唯一代码由AppModule中的几行代码和一个将org.apache.shiro.session.Session转换为org.apache.tapestry5.services.Session的独立函数组成。在应用程序的其余部分,我像以前一样使用会话功能(包括注释),并且他们都在后台由shiro管理。
2
我可能误解了你的问题,但你可以注入的请求,并用它来获得对会话的句柄:
@Inject
private HttpServletRequest httpRequest;
httpRequest.getSession();
这不使用@Persist
或@SessionState
阻止你。
相关问题
- 1. 挂毯确认对话
- 2. MySQL更改默认会话日期
- 3. 更改默认行为5.4
- 4. 挂毯shiro安全认证
- 5. 为Oracle用户设置默认“更改会话”
- 6. 如何更改ThickBox的默认行为?
- 7. 更改BindingList的默认行为
- 8. 更改默认onListItemClick行为的ListView
- 9. 升级:挂毯5.1.0.5到挂毯5.2.6
- 10. 在ASP.NET中更改默认会话提供程序
- 11. 更改默认帮助键行为
- 12. 更改php-interbase默认事务行为
- 13. 更改网格中的默认行数
- 14. 挂毯jquery PageScroll
- 15. OnActionFromStart(挂毯)
- 16. 挂毯+ JDO + GAE
- 17. 挂毯5:
- 18. 文本框不会更改为javascript中的默认下拉值
- 19. 更换挂毯的页面名称
- 20. 它是不同的默认会话命名空间中的'默认'和'默认'?
- 21. ASP.net会话默认共享?
- 22. Tomcat默认会话处理
- 23. PHP会话默认超时
- 24. 挂毯“/”参数bug
- 25. 挂毯。存在dateTimeField?
- 26. 搜索与挂毯
- 27. “挂毯”在tapestry5高
- 28. phpMyAdmin:更改显示的默认行数?
- 29. 更改默认库
- 30. 更改Windows Phone 7中的默认滑块行为Silverlight
我的问题是我根本不想使用servlet httpSessions。现在解决它,但谢谢。 – 2012-08-10 16:01:39