我有一个使用RESTEasy公开RESTful API的应用程序。在调用任何方法之前,用户需要使用HTTP-Basic进行身份验证。
但是,我想在RESTful API中添加一个方法,任何用户都可以在不进行身份验证的情况下调用该方法。我怎么做?是否有一些JAX-RS / RESTEasy注释可以添加到方法声明中,以指示该方法的身份验证是可选的。
感谢。
答案 0 :(得分:2)
在您的web.xml中排除REST路径,不需要身份验证
<security-constraint>
<web-resource-collection>
<web-resource-name>All Access</web-resource-name>
<url-pattern>/unchecked/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
然后,不需要身份验证的REST资源应该类似于
@Path("/unchecked")
public class NoAuthResource{
}