我有一个有两个REST端点的应用程序:
对于第一个端点,我不想发送"授权"头。为此,我配置以下xml:
<security:intercept-url pattern="/api/products" method="GET" access="permitAll"/>
对于第二个端点,我确实希望发送&#34;授权&#34;头。所以,我配置这个xml:
<security:intercept-url pattern="/api/products" method="POST" access="hasRole('ROLE_ADMIN')"/>
令我惊讶的是,GET / api /产品需要&#34;授权&#34;标题,它返回401. POST / api /产品非常好用。我只是发送一个&#34;授权&#34;带有效值的标题,一切顺利。
我意识到使用<security:intercept-url>
和access =&#34; permitAll&#34;不会禁用&#34;授权&#34;标题,这是正确的吗?如果是这样,我可以设置什么样的配置来实现我的目标?
我正在使用Spring Security 4
答案 0 :(得分:0)
您只需删除<security:intercept-url pattern="/api/products" method="GET" access="permitAll"/>
,不要为/api/products
GET
资源指定任何安全配置。