我有一个关于战争和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>
由于
答案 0 :(得分:0)
我找到了2个问题的解决方案:
1。)将身份验证类(picketlink)移动到Web层,以便可以设置和本地化消息。
2.。)在ejb层中实现JPA IDMConfiguration。以及Web层中的身份验证类。 请参阅github:picketlink-authorization-idm-jpa中的这个项目。通过这种方式,我们创建了一个我们将在网络层身份验证中使用的picketlink资源。