Java 如何使用基本身份验证使CORS过滤器在Jersey REST中工作?

Java 如何使用基本身份验证使CORS过滤器在Jersey REST中工作?,java,tomcat,jersey,cors,basic-authentication,Java,Tomcat,Jersey,Cors,Basic Authentication,我正在尝试使用Tomcat和基本身份验证在Jersey上实现cors。 身份验证使用一个域进行配置,该域获取数据库的数据,并与给定的用户进行比较并通过 我所有的资源都正常工作,没有跨源HTTP请求,我已经使用Soapui和我自己制作的Android应用程序进行了测试。 当我尝试使用jQuery和ajax使用restwebservice时,问题就出现了,它发送了一个选项预飞行,没有任何身份验证数据,而服务器响应时出现了一个错误 我试着做到以下几点: *实现一个自定义容器过滤器来处理cors请求,而

我正在尝试使用Tomcat和基本身份验证在Jersey上实现cors。 身份验证使用一个域进行配置,该域获取数据库的数据,并与给定的用户进行比较并通过

我所有的资源都正常工作,没有跨源HTTP请求,我已经使用Soapui和我自己制作的Android应用程序进行了测试。 当我尝试使用jQuery和ajax使用restwebservice时,问题就出现了,它发送了一个选项预飞行,没有任何身份验证数据,而服务器响应时出现了一个错误

我试着做到以下几点:

*实现一个自定义容器过滤器来处理cors请求,而不执行任何操作。 按照现场建议使用catalina cors过滤器,无需任何操作

*使用由以下人员开发的cors筛选器:。没什么

*使用servlet规范的过滤器,带或不带WebFilter注释,而不使用任何内容

*使用@PermitAll注释创建选项服务

在所有这些尝试中,我也配置了web.xml。 我正在使用Tomcat7.0.21、Jersey 2.22.2、Hibernate、MYSQL、JDK7和Maven

我认为基本身份是问题所在,也许我应该试试OAuth2.0?有没有一种方法可以让cors与基本Auth一起工作?
如何继续?

对我来说,最简单的方法是执行以下操作:

1) 将此代码添加到您的web.xml标签顶部附近的

 <filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
        <filter-name>CORS</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

科尔斯
com.thetransactioncompany.cors.CORSFilter
科尔斯
/*
2) 通过maven在pom.xml中导入两个库

<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>java-property-utils</artifactId>
    <version>1.9.1</version>
</dependency>

<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>cors-filter</artifactId>
    <version>1.9.1</version>
</dependency>

交易公司
java属性utils
1.9.1
交易公司
cors过滤器
1.9.1

祝你好运

对我来说,最简单的方法就是做以下事情:

1) 将此代码添加到您的web.xml标签顶部附近的

 <filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
        <filter-name>CORS</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

科尔斯
com.thetransactioncompany.cors.CORSFilter
科尔斯
/*
2) 通过maven在pom.xml中导入两个库

<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>java-property-utils</artifactId>
    <version>1.9.1</version>
</dependency>

<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>cors-filter</artifactId>
    <version>1.9.1</version>
</dependency>

交易公司
java属性utils
1.9.1
交易公司
cors过滤器
1.9.1

祝你好运

和的可能重复:不是,因为我以前尝试过这些解决方案,正如我所说的,没有效果。服务器仍在请求options方法的basic auth,因此,即使我发送了访问授权标头并实现了过滤器,服务器仍会响应401错误,因为没有从ajax客户端发送授权数据可能与:重复,因为我以前试过这些解决方案,正如我所说,没有效果。服务器仍在请求options方法的basic auth,因此,即使我发送了access authorization头并实现了过滤器,服务器仍会响应401错误,因为没有从ajax客户端发送授权数据