如何在ejb项目中添加或设置facesMessage

时间:2014-05-13 03:39:28

标签: jsf-2 ejb jboss7.x

我有一个关于战争和ejb的耳朵项目。使用omnifaces,我通常在war项目中设置错误消息。但是在一个项目中我使用picketlink进行身份验证,不幸的是我需要在ejb中移动我的@Picketlink注释类,否则它将无效。

然后我的身份验证类也在ejb项目中,然后当用户输入错误的凭据时我需要显示本地化错误的问题。我如何在ejb项目中做到这一点?

或者有没有办法让picketlink工作将身份验证类移回战争项目。

示例代码: 身份验证类:

@PicketLink
public class PicketlinkAuthenticator extends BaseAuthenticator { }

JBoss部署文件

<?xml version='1.0' encoding='UTF-8'?>
<jboss-deployment-structure>

    <ear-subdeployments-isolated>true</ear-subdeployments-isolated>

    <sub-deployment name="my-project-web.war">
        <dependencies>
            <module name="org.picketlink" />
        </dependencies>
    </sub-deployment>

</jboss-deployment-structure>

由于

1 个答案:

答案 0 :(得分:0)

我找到了2个问题的解决方案:

1。)将身份验证类(picketlink)移动到Web层,以便可以设置和本地化消息。

2.。)在ejb层中实现JPA IDMConfiguration。以及Web层中的身份验证类。 请参阅github:picketlink-authorization-idm-jpa中的这个项目。通过这种方式,我们创建了一个我们将在网络层身份验证中使用的picketlink资源。