问题标签 [seam3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4299 浏览

spring-security - 了解 Java 应用程序服务器中的身份验证

我目前正在开发一个在 JBoss AS 7 上运行的项目,该项目需要来自各种来源的身份验证。我试图了解结合起来提供身份验证的各种组件。

我对这一切如何组合在一起有一些假设/猜测,但我需要确保我的理解是正确的。所以下面是我理解的 JBoss AS7 的身份验证过程。


您有一个安全领域,它定义了如何对用户进行身份验证。然后将此领域暴露给您的应用程序,以保护其中的部分或全部。在 AS7 中,这是在 <subsystem xmlns="urn:jboss:domain:security:1.0"> 元素中配置的。

可以将领域配置为使用登录模块针对各种来源对用户进行身份验证,例如数据库、LDAP、本地文件或其他东西。可以定义多个登录模块,并且您可以指定登录模块的某些组合必须“成功”才能进行身份验证。

实际的用户名和密码是通过定义在 <login-config> 元素中的 web.xml 文件(对于 servlet)中定义的机制传入的。


假设上述过程是正确的(也可能不是):

  • 整个身份验证过程是否属于 JAAS 之类的规范,或者 JAAS 只是此过程的一小部分或可选部分?
  • 是否所有类型的 <auth-methods>(即 BASIC、DIGEST 和 FORM)都适用于各种登录模块?这个页面似乎不建议,但我还没有看到任何与 <login-module> 选项 <login-config> 选项匹配的明确文档。
  • 从登录配置到登录模块的用户名和密码流程似乎很简单,但是像 OpenID 或 OAuth 这样有中间步骤(如重定向到外部登录页面)的系统会发生什么?
  • Seam 3 SecurityApache ShiroSpring Security等项目如何融入这张图片?
0 投票
1 回答
5292 浏览

java - xDocReport - 无法为输入流创建报告

我无法解决这个问题。来源是:

当我尝试继续执行此代码时,出现错误:

它指向这条线:

这是什么意思 - 报告加载器仅支持 [] 文件类型。?从 InputStream 加载数据有什么问题吗?我不知道如何解决这个问题。请帮忙!

0 投票
1 回答
355 浏览

seam - 有谁知道生产中的一个好的 SEAM 3 示例?

我有兴趣看到 SEAM 3 在生产环境中的功能,但还没有遇到任何生产环境中的 SEAM 3 站点。即使是官方接缝站点的生产部分接缝也仅包含 SEAM 1 和 2 站点。

有人知道生产中的 SEAM3 的任何示例吗?

0 投票
2 回答
12196 浏览

ajax - Primefaces p:calendar 与 p:ajax 值未更新(一步延迟)

我想在p:calendar. 在我的设置中,我有一个@Named @ViewScopedBean,该类ObWithDate是一个@Entity带有 date 字段validFrom的类。

update(ObWithDate myO)好消息是,每次我选择日期时,都会使用正确的对象调用bean 方法。不好的是,它myO.validFrom没有正确的值。它总是落后一步

  • 用 2012-01-01 初始化的字段
  • GUI 更改为 2012-01-05,bean 方法调试到 2012-01-01
  • GUI 更改为 2012-01-15,bean 方法调试到 2012-01-05

这个问题让我发疯,我发现了几个未正确更新值的问题,还有一些关于p:calendar. 他们中的大多数人建议将属性selectListener="#{calendarBean.handleDateSelect}"handleDateSelect(DateSelectEvent event)方法一起使用。但我想调用我的方法,因为我想传递变量的当前实例。

  • Firebug 验证,正确的更新值在 POST 请求中传输
  • 我正在使用 Primefaces 3.2 和 JBoss-7.1.1-Final
  • 即使没有p:dataTable并且仅使用p:calendar该问题仍然是相同的。
  • 对于 method-Object以及 中的相应条目,可以观察到调试输出的错误值。update(ObWithDate myO)myBean.listObWithDates
  • <p:ajax immediate="true" .../>不能解决这个问题。

更新MattHandy对我帮助很大,产生的问题How to get the对应的list item in the ajax call inside the beans method? 在后续JSF p:calendar in p:dataTable: How to get the row of p:ajax dateSelect event中制定。

0 投票
5 回答
49469 浏览

java - 在注入点使用限定符 [@Default] 的类型 [...] 的依赖关系不满足(使用带有 CDI 的 @Stateful EJB)

我有以下代码来管理两种存储库。两个存储库类都继承了一个接口以允许重新初始化其资源。

全局的、应用范围的 repo:

每个用户,会话范围的 repo:

将 this(不带@Stateful)注入上下文时

有用。但是,当添加@StatefulUserRepository类时,部署失败并出现异常:

添加 CDI bean 的名称,例如

导致相同的异常。唯一与之结合使用@Stateful的是在 var 声明中使用接口:

但是,我可能在这里需要子类功能,因此CachingRepository(目前)并不真正需要使用。

  1. 为什么这没有按预期工作?UserRepositoryvar 应该已经确定要实例化哪个类,不是吗?这有什么逻辑?
  2. 为什么@StatefulEJB 注解在这里会产生如此严重的影响?为什么它本质上迫使我CachingRepository在 var 声明中使用接口?

请注意,我使用 Seam 3 Faces 使其@ViewScoped成为 CDI 视图范围的 bean,因此手头的问题可能仍然是CDI-only

0 投票
2 回答
1032 浏览

hibernate - EntityManager 使用 Hibernate 4 在 Seam3 中返回 NULL

我需要您的帮助才能在 jboss 7 和 Hibernate 4 上使用 Seam3 正确配置我的 Web 应用程序。

当我尝试注入 EntityManager 并使用它时,entitymanager 结果为 NULL,但如果尝试通过 Persistence.createEntityManagerFactory("myPU").createEntityManager() 获取 EntityManager,则结果是正确的。

这是我的persistence.xml

http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

这是我的 EntityManagerProducer

这是我的 /Web-INF/beans.xml

这是我测试EntityManager的课程...

当尝试在 JBOSS As7 中部署(WAR)时,应用程序的部署没有异常......

几个小时后..

我尝试在 EntityManagerProducer 中使用此代码:

但我在部署期间遇到此错误:

WELD-001502 资源生产者字段 [Resource Producer Field [EntityManagerFactory] ​​与限定符 [@Any @Default] 声明为 [[field] @PersistenceUnit @ConversationScoped @Produces startup.first.emf]] 必须是 @Dependent 范围

我应该怎么办?少了什么东西?

以下是 war 文件中的库列表:

Jboss版本是7.0.2

请帮帮我


感谢您的回答..我已尝试删除hibernate-entitymanager-4.0.0.CR1.jarjboss-servlet-api_3.0_spec-1.0.0.Final.jar 没有效果!

我也改变了 persistence.xml

当我尝试以这种方式创建实体管理器时......

错误是一样的......


感谢您的回答..我已尝试删除hibernate-entitymanager-4.0.0.CR1.jarjboss-servlet-api_3.0_spec-1.0.0.Final.jar 没有效果!

我也改变了 persistence.xml

当我尝试创建实体管理器时,错误是一样的......

0 投票
1 回答
402 浏览

java - Java EE 6 - SEAM + EJB 集成/3 层架构

我一直在使用 JSF 2.1 和 EJB 3.1。到目前为止,我的应用程序有这样的流程:

  1. Facelets 模板
  2. @ManagedBean 连接到 .xhtml 页面
  3. @Stateless EJB bean,使用 EntityManager 从数据库等获取实体
  4. EJB bean 通过@EJB 注入到@ManagedBean

所以基本上对于 1 个实体类,我有 2 个类和 1 个 xhtml 页面。

现在,我正在使用 SEAM 3(焊料、面、安全和验证模块)开始新项目。如何简化申请流程?我可以在 JSF bean 中使用 EntityManager 并获取所有 EJB 功能,如事务等吗?如何组织我的项目(实体类、bean 类、服务类)?感谢帮助!

0 投票
2 回答
4565 浏览

jsf-2 - 在 JBoss AS7 堆栈(JSF2、CDI、JPA2、Seam?)上拥有 ViewScope 和避免 LazyInitializationException 的最简单方法

我正在尝试为满足以下要求的小型研究原型和学生项目建立基于 JBoss AS7 的 Web 应用程序堆栈:

  1. 我想结合 PrimeFaces 组件为我的托管 bean 使用与 AJAX 相关的范围,例如ViewScope - 或者可能是 MyFaces Orchestra 中的 (View)AccessScope 。

  2. 基于 JPA 的持久性应该相当简单,无需处理 OpenSessionInView 模式等。我在 JPA2 中遇到的主要问题是可怕的LazyInitializationException,尤其是在 AJAX 调用中。我不需要手动控制对话。

  3. 我想使用尽可能少的依赖项,因此主要依赖于 JBoss AS7 附带的内容。

现在,我已经建立了一个项目,其中包含以下(主要是提供的)Maven 依赖项:

  • CDI
  • hibernate-2.0-api
  • jboss-ejb-api_3.1_spec
  • jboss-jsf-api_2.1_spec
  • jboss-annotations-api_1.1_spec
  • PrimeFaces 3

到目前为止,这看起来很苗条。缺少的是对更多特定于 JSF 的范围的支持,并且在 JSF 页面中迭代集合时,我总是得到一个 LazyInitializationException。现在,我的持久性服务类如下所示:

还有我的 ResourceFactory bean:

我尝试与@Named而不是@Stateful,或@SessionScoped代替的组合没有成功@RequestScoped。但是,我发现添加 Seam 3 Persistence、Solder 和 Faces 模块似乎可以解决我的大部分问题,但这会给我的项目添加大量新的依赖项(例如 seam-security、prettyfaces、drools、joda-time 和其他依赖项)。

我的问题是:

  1. EJB对 LazyInitializationException 有帮助吗?@Stateful还是由于注释,我实际上已经在这里使用了 EJB ?我从一个 jboss-as 示例应用程序中获取了这个,但我对所有这些@ManagedBean, @Named, @Stateful,@LocalBean注释之间的差异感到非常困惑......我所知道的是我需要以某种方式将我的实体管理器的生命周期绑定到服务豆。

  2. 有人知道解决此问题的其他简单方法吗?使用 EAGER 获取不是一种选择,因为这似乎仅在每个实体不超过一个集合的情况下才有效......

  3. 我刚刚阅读了有关Apache CODI的信息,它似乎是 MyFaces Orchestra 的 CDI 继任者。这是Seam Faces的更好替代品吗?据我所知,它提供了 ViewScope 和 ViewAccessScope,但没有涉及事务管理。

如果在该领域有更多经验的人可以对此有所了解,那就太好了——我目前有点困惑,因为有很多图书馆在处理类似的问题,尽管最明显的是彼此不兼容(参见例如在这里)。谢谢!

0 投票
2 回答
1518 浏览

jsf-2 - 如何在运行时初始化 jsf 2.0 文本字段?

我想在运行时初始化我的文本字段。例如,我有这样的primefaces inputtext:

还有一个豆类:

jsf 2.0可以做到这一点吗?

0 投票
4 回答
3483 浏览

java - Java EE - Seam 2 与 Seam 3 - 我现在应该选择哪个?

我正在开始新的企业应用程序。我选择了以下技术:jee6 (jsf + primefaces, ejb) 和 hibernate。我将部署在 Glassfish 3 上。

问题是我应该选择哪个 Seam 版本?我知道 Seam 3 是最新的,但 Seam 2 似乎也在开发中。我快速浏览了 Seam 2 和 3 文档,Seam 2 对我来说看起来更容易(尤其是安全模块)