我有两个应用程序,服务器端基于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不支持阀门。
我最好的选择是什么?
答案 0 :(得分:1)
我已经改变主意并实施基于表单的身份验证,但回答我之前的问题,我应该写一个ServletExtension
,其中AuthenticationMechanism
添加到DeploymentInfo
。在AuthenticationMechanism
中,有一个authenticate()方法,用于对用户进行身份验证。您可以在Undertow documentation中找到位信息。
可能(在最终之前)他们将允许通过XML进行配置。