在WildFly上的RESTful应用程序中进行身份验证

时间:2013-10-01 08:24:20

标签: java security rest authentication wildfly

我有两个应用程序,服务器端基于java with rest easy和client我在使用angular js。

我使用了基本身份验证,我在第一个请求中生成了令牌,所有请求都使用了此令牌,但由于我将项目移动到Wildfly,并且没有Tomcat这种方式不起作用。

我的班级TokenAuthenticator从卡塔利娜延伸BasicAuthenticator;

web.xml 有:

<login-config>
    <realm-name>App</realm-name>
</login-config>

<security-role>
    <role-name>user</role-name>
</security-role>

jboss-web.xml

<jboss-web>
    <security-domain>App</security-domain>
    <valve>
        <class-name>package.TokenAuthenticator</class-name>
    </valve>
    <context-root>/app-server</context-root>
</jboss-web>

在我的EJB bean中,我使用@RolesAllowed注释来限制对资源的访问。

我现在读到,Wildfly不支持阀门。

我最好的选择是什么?

1 个答案:

答案 0 :(得分:1)

我已经改变主意并实施基于表单的身份验证,但回答我之前的问题,我应该写一个ServletExtension,其中AuthenticationMechanism添加到DeploymentInfo。在AuthenticationMechanism中,有一个authenticate()方法,用于对用户进行身份验证。您可以在Undertow documentation中找到位信息。

可能(在最终之前)他们将允许通过XML进行配置。