使用JDBC-Realm进行JSF,EJB和基于表单的登录的概念

时间:2012-09-16 17:19:59

标签: jsf netbeans ejb

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

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

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

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

主要的事情很好,如

我现在的问题是,只有注册用户才能访问特定子目录中的所有网页。

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

有没有办法处理这个或我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

每个注册用户都应该获得代表注册的角色,例如“注册”

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

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