【问题标题】:Java Web Application - Admin/Public Users [closed]Java Web 应用程序 - 管理员/公共用户 [关闭]
【发布时间】:2025-12-23 22:45:17
【问题描述】:

考虑一个简单的 Java Web 应用程序,它具有使用 JSP、Servlet、JDBC、JSTL 的登录和注册功能。我需要让应用程序有正常的public_users,然后是管理员。他们都使用相同的登录页面,尽管当公共用户登录时,与管理员登录时相比,它具有不同的仪表板实用程序。

我已尝试在 Google 上搜索,但无法找到具体答案。

是否可以让这两个用户使用同一个登录页面?如果任何用户拥有有效凭据,基于状态“admin”或“public_user”有没有办法将他们重定向到 2 个完全不同的页面?

在数据库中,如何将特定用户设置为管理员,或邀请某人成为管理员?

建议将不胜感激, 谢谢

【问题讨论】:

    标签: java jsp servlets web-applications jdbc


    【解决方案1】:

    您可以使用 spring security 来获得在用户注册时指定 USER_ROLE 的优势,在登录时您可以获得凭据,并且基于 USER_ROLE 您可以重定向到特定的 url。

    参考123

    【讨论】:

    • 非常好,感谢您的回复。有没有办法将这个 spring 框架连接到 phpyMyAdmin 数据库?
    • -1??请!!我想知道为什么 -1
    • 对不起,如果我错过了这个参考 mkyong.com/spring-security/… 它显示了如何通过配置连接数据库。
    • @sᴜʀᴇsʜᴀᴛᴛᴀ 当然,这就是为什么我不删除这个答案,即使它花费我 2reps :P。但另一方面,无缘无故的投票很糟糕!
    • @codeMan 让他们享受他们的 125+ 声望特权 :)
    【解决方案2】:

    有几种方法可以解决它。

    有一些框架作品(瓷砖..等)。

    如果您不想这样做,请使用 JSTL 包含针对不同用户的条件的指令 假设大部分页面对所有用户都是通用的,那么只有正文部分可能会改变。

    因此,为每种类型制作一个单独的 Jsp,并在一个想法中包含在 Main jsp 中。

    简而言之,我们也可以使用单个jsp 进行维护,我们可以在controller 中维护条件 .但是为每种目的单独的jsp几乎没有成本并且更容易维护

    【讨论】:

    • @downvoter ,感谢您对我的帖子的兴趣。您也可以通过 cmets 提出更改建议。谢谢
    【解决方案3】:

    一种方法是使用 2 个资源并根据 web.xml 中的领域和 FORM 授予授权。看到这个: http://docs.oracle.com/javaee/6/tutorial/doc/gkbaa.html 第二种方法是使用门户技术并在同一页面中通过 portlet 授予权限。但是,您说您正在使用 JSP/Servlet。 最糟糕的方法是使用单个资源,获取请求参数(用户和密码)并通过您从请求中获得的内容来操作页面内容(但是,这是......“第一次使用 JSP/Servlets 编程”解决方案) .

    【讨论】:

    • 感谢您的回复,是的,我正在学习,并寻找我可以解决的最简单的方法,以便我知道发生了什么。如果我在部署描述符中使用 标记,那么无论何时使用它都可以来自输入表单吗?不是在屏幕上弹出的东西?