Struts 2会话管理和动态显示jsps

发布于 2024-11-27 13:09:49 字数 185 浏览 1 评论 0原文

我正在使用 Struts 2 框架编写一个应用程序。它有一个包含用户名、密码和用户类型(例如管理员、主管、分析师等)的登录页面。

我想做两件事:

  • 会话管理 - 注销、定时注销等。
  • 根据用户类型向不同用户显示不同的页面。

任何对其中一个/两者的帮助都将受到高度赞赏。

I am writing an app using Struts 2 framework. It has a login page with username, password and usertype (ex. Administrator, supervisor, analyst etc.)

I want to do two things:

  • Session management - logging out, timed logout etc.
  • Display different pages to different users based on the user type.

Any help on either/both is highly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花开柳相依 2024-12-04 13:09:49

对于第一部分,struts2 已经提供了开箱即用的会话管理,您所要做的就是使用会话感知并让 struts2 为您处理其余的工作。不过,登录和注销是您自己实现它们的首选方式你可以使用拦截器来检查用户是否登录等。

你的第二部分很像用户访问和权限管理,我相信Spring安全模块是实现这一目标的最佳方法
Spring 安全

for the first part struts2 already provides out of the box session management all you have to do is to use session aware and let struts2 handle the rest of the work for you.doing login and log out are your own preferred way to implement them, though you can use interceptor to check if the user is logged in or not etc.

your second part is much like a user access and right management and i believe spring security module is the best approach to achieve such goal
Spring Security

尸血腥色 2024-12-04 13:09:49

你的第二部分很像用户访问和权限管理,我相信 Spring Security 模块是实现这一目标的最佳方法 Spring Security

这是一种方法,但它还需要学习 Struts 之上的另一个框架。

在这种类型的应用程序中,我个人会实现一个 UserInfo 对象,以在会话中维护一个基于条件操作的帐户类型字段。例如,超级用户帐户只需包含一个带有 getter user.isSuperUser() 的布尔值。

为此,您可以将 UserInfo 对象粘贴到会话中,并使用 struts 标签来包含不同的页面,例如:

<s:if test="%{#session.user.SuperUser}">
   <s:include value="superUser.jsp" />
</s:if><s:else>
   <s:include value="regularUser.jsp" />
</s:else>

your second part is much like a user access and right management and i believe spring security module is the best approach to achieve such goal Spring Security

This is one approach, however it also requires learning another framework on top of Struts.

In this type of application I would personally implement a UserInfo object to maintain in session with an account type field for basing conditional operations on. For instance, a super user account would simply have a boolean with a getter user.isSuperUser().

In doing this you can stick the UserInfo object in session and use struts tags to include different pages, for example:

<s:if test="%{#session.user.SuperUser}">
   <s:include value="superUser.jsp" />
</s:if><s:else>
   <s:include value="regularUser.jsp" />
</s:else>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文