【问题标题】:Struts 2 session management and dynamically displaying jspsStruts 2 会话管理和动态显示jsps
【发布时间】:2011-08-02 03:18:54
【问题描述】:
我正在使用 Struts 2 框架编写应用程序。它有一个包含用户名、密码和用户类型(例如管理员、主管、分析师等)的登录页面
我想做两件事:
- 会话管理 - 注销、定时注销等
- 根据用户类型向不同用户显示不同的页面。
非常感谢任何/两者的帮助。
【问题讨论】:
标签:
session
struts2
privileges
【解决方案1】:
对于第一部分,struts2 已经提供了开箱即用的会话管理,您所要做的就是使用会话感知,让 struts2 为您处理其余的工作。登录和注销是您自己首选的实现方式他们,虽然你可以使用拦截器来检查用户是否登录等。
您的第二部分很像用户访问和权限管理,我相信 spring 安全模块是实现这一目标的最佳方法
Spring Security
【解决方案2】:
您的第二部分很像用户访问和权限管理,我相信 Spring Security 模块是实现这一目标 Spring Security 的最佳方法
这是一种方法,但它还需要在 Struts 之上学习另一个框架。
在这种类型的应用程序中,我会亲自实现一个 UserInfo 对象,以在会话中维护一个帐户类型字段,用于基于条件操作。例如,超级用户帐户将只是一个带有 getter user.isSuperUser() 的布尔值。
这样做你可以将 UserInfo 对象粘贴在 session 中,并使用 struts 标签来包含不同的页面,例如:
<s:if test="%{#session.user.SuperUser}">
<s:include value="superUser.jsp" />
</s:if><s:else>
<s:include value="regularUser.jsp" />
</s:else>