gpt4 book ai didi

java - 如何在 Struts2 web 应用程序中为多个登录配置 web.xml?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:25 24 4
gpt4 key购买 nike

我想使用 Struts2 和 JSP 开发一个小型测试多登录应用程序。基本上:

  1. 应用程序应该有任何人都可以访问的欢迎页面(即 index.jsp)。

  2. 此欢迎页面将有两个登录框:一个用于用户,一个用于管理员。

  3. Web 应用程序应该有两个子应用程序,一个用于用户,一个用于管理员。换句话说,它不是登录用户拥有不同权限的单一应用程序。每个子应用程序都有自己独立的页面集。

Struts2 使用 MVC 模式,我想知道我应该如何使用过滤器模式来组织它。我可以让 /userapp/* 下的所有请求都转到用户应用程序,而 /adminapp/* 下的所有请求都转到管理应用程序。

我的问题是:

  1. 这是正确的策略(即最佳实践)吗?如果是,我应该如何在我的 web.xml 中实现它?

  2. 我应该实现两个过滤器和两个映射(如果是,为什么?)还是应该实现一个过滤器和两个映射?

更新

经过大量阅读,我了解到 Struts2 多登录是一个过度设计且过于繁重的解决方案,无法满足我的需求。我决定实现我自己的 Servlet 3.0 并使用 JQuery + Ajax。

最佳答案

考虑这样一种情况,其中有 2 个不同的用户“管理员”(最高权限)和“客户(与管理员相比权限较低)”。在Struts中,你可以这样实现

1.创建一个类似User类的业务逻辑,它基本上完成以下任务

  a.)Gets the username,password as input.
b.)Checks whether this 'username' exists in database.
c.)If exits, gets the type of user(either Admin or Customer) and checking
its corresponding password.

2.从“Action”类中使用此“User”对象。因此,您将“ActionForm”值(用户名、密码)传递到此业务方法中,验证用户并获取特定的用户类型(存储在 session 中) .

3.在此“用户”发出的后续请求中,检查用户类型并相应地转发。创建一个自定义“操作”类,该类始终验证从用户类型接收到的每个操作的用户类型(和其他验证)。 所有其他“Action”类都应扩展此自定义“Action”类。

这就是我在我的一个 Struts Web 应用程序中实现的方式,其中超过 3 种类型的用户具有不同的权限。我从未见过每种用户类型的单独 url 模式。所以最好显示, http://www.yoursite.com/Process.action 而不是 http://www.yoursite.com/adminapp/Process.action

关于java - 如何在 Struts2 web 应用程序中为多个登录配置 web.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7557083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com