具有安全约束的jBoss CORS支持

具有安全约束的jBoss CORS支持,jboss,cors,resteasy,security-constraint,Jboss,Cors,Resteasy,Security Constraint,我正在使用web通用安全约束向API添加身份验证,但它似乎破坏了我的CORS过滤器。我以前只使用了过滤器,没有应用服务器级别的身份验证 基本思想是要求对除/rest/account端点下的请求以外的所有请求进行身份验证,因为这些请求是处理初始登录的请求,因此需要公开访问 当尝试登录时,选项调用作为POST请求的一部分进行时,Chrome和Postman中的测试都会返回405 Method not allowed响应 希望我已经提供了以下所有相关信息,但如果还需要其他信息,请告诉我。提前谢谢 我的

我正在使用web通用安全约束向API添加身份验证,但它似乎破坏了我的CORS过滤器。我以前只使用了过滤器,没有应用服务器级别的身份验证

基本思想是要求对除/rest/account端点下的请求以外的所有请求进行身份验证,因为这些请求是处理初始登录的请求,因此需要公开访问

当尝试登录时,选项调用作为POST请求的一部分进行时,Chrome和Postman中的测试都会返回405 Method not allowed响应

希望我已经提供了以下所有相关信息,但如果还需要其他信息,请告诉我。提前谢谢

我的CORS过滤器

<filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
    <init-param>
        <param-name>cors.supportedMethods</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.supportedHeaders</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowOrigin</param-name>
        <param-value>*</param-value>
    </init-param>
    <init-param>
        <param-name>cors.allowSubdomains</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>cors.supportsCredentials</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CORS</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

科尔斯
com.thetransactioncompany.cors.CORSFilter
cors.supportedMethods
*
cors.supportedHeaders
*
金鸡儿
*
cors.allowSubdomains
真的
cors.supportsCredentials
真的
科尔斯
/*
我的安全限制

<security-constraint>
    <display-name>WebsiteUsers</display-name>
    <web-resource-collection>
        <web-resource-name>WebsiteAPI</web-resource-name>
        <description/>
        <url-pattern>/rest/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <description>Standard User authentication</description>
        <role-name>Users</role-name>
    </auth-constraint>
</security-constraint>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Public</web-resource-name>
        <description>Matches a few special endpoints</description>
        <url-pattern>/rest/account/*</url-pattern>
    </web-resource-collection>
    <!-- No auth-constraint means everybody has access! -->
</security-constraint>

网站用户
WebsiteAPI
/休息/*
标准用户身份验证
使用者
公开的
匹配一些特殊端点
/剩余/帐户/*
尝试将
选项添加到受保护的
中。 这应该允许
选项
请求通过您的CORS过滤器(然后将正确的
访问控制允许方法
响应头发送回)

或者(如果您需要支持servlet spec<3.0),您可以使用
定义所有需要身份验证的方法(
GET
POST
DELETE
PUT
),等等-除了
选项
)-使用