我目前使用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. 挂毯5会话bean
- 3. 挂毯网格默认排序
- 4. MySQL更改默认会话日期
- 5. 更改默认行为5.4
- 6. 更改System.Dynamic.ExpandoObject默认行为
- 7. 挂毯shiro安全认证
- 8. 如何更改会话存储在数据库中的默认行为
- 9. 为Oracle用户设置默认“更改会话”
- 10. 在asp.net mvc中更改会话变量超时的默认值
- 11. 更改默认onListItemClick行为的ListView
- 12. 如何更改ThickBox的默认行为?
- 13. 更改p的默认行为:confirmDialog
- 14. 更改BindingList的默认行为
- 15. 如何更改make的默认行为
- 16. 更改Double.ToString()的默认行为
- 17. 升级:挂毯5.1.0.5到挂毯5.2.6
- 18. 在ASP.NET中更改默认会话提供程序
- 19. 挂毯:一个下拉列表组件默认值
- 20. 继承logging.Formatter更改默认行为logging.Formatter
- 21. Django:django-tables2更改默认排序行为
- 22. 更改默认帮助键行为
- 23. 更改弹簧web应用程序的默认会话超时
- 24. 更改Word 2007中的默认行距
- 25. 更改网格中的默认行数
- 26. 更改为默认样式
- 27. 如何在挂毯中更改我的资产域
- 28. 挂毯4.1对话范围。可能?
- 29. 创建挂毯
- 30. 挂毯jquery PageScroll
我的问题是我根本不想使用servlet httpSessions。现在解决它,但谢谢。 – 2012-08-10 16:01:39