1

我正在尝试学习 Java EE (EJB,JSF...) 的概念,因此我正在开发一个示例应用程序。不幸的是,我无法理解某些概念应该如何协同工作,以及我是否以正确的专业方式进行操作。在这一点上,我真的对所有这些不同的方法感到困惑,希望有人能帮助我。

我的应用程序的核心功能包括一个文档服务器,注册用户可以在其中上传文档并用有用的信息对其进行描述。

文档应该简单地保存在服务器上,所有信息都应该存储在 MySQL 数据库中。我用 Netbeans 创建了三个项目。

  • 企业应用项目(DocApp)
  • EJB 模块 (DocApp-ejb)
  • 和一个 Web 应用程序项目 (DocApp-war)。

主要的东西工作得很好

我现在的问题是,特定子目录中的所有页面都应该只能由注册用户访问。

我看到的唯一方法是使用一个SessionScoped ManagedBean,而不是使用多个RequestScoped ManagedBeans。这似乎是一个不好的做法,但我不知道如何处理这个问题。按照我的理解,每个 JSF 页面(xhtml)都应该有一个 ManagedBeand。

有没有好的方法来处理这个或者我做错了什么?

4

1 回答 1

1

授予对整个子目录的访问权限的默认机制是在 web.xml 中为表示该目录的 URL 模式添加安全约束。

每个注册用户都应该得到一个代表正在注册的角色,例如“REGISTERED”

然后将此角色添加到 web.xml 中的安全约束。

JSF 和 Servlet 容器管理的安全性之间的交互有点尴尬,但确实有效。

于 2012-09-16T19:56:24.037 回答