http url 的 Http 失败响应:401 Unauthorized
Posted
技术标签:
【中文标题】http url 的 Http 失败响应:401 Unauthorized【英文标题】:Http failure response for http url: 401 Unauthorized 【发布时间】:2020-06-01 08:00:25 【问题描述】:每当我使用以下方法时,我都可以从角度调用我的服务
@Override
protected void configure(HttpSecurity http) throws Exception
http.csrf().disable().authorizeRequests().antMatchers("/").permitAll();
但是当我如下更改配置方法时,我收到 401 错误。
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception
httpSecurity.csrf().disable()
// dont authenticate this particular request
.authorizeRequests().antMatchers("/authenticate", "/register","/basicauth").permitAll().
// all other requests need to be authenticated
anyRequest().authenticated().and().
// make sure we use stateless session; session won't be used to
// store user's state.
exceptionHandling().authenticationEntryPoint(jwtAuthenticationEntryPoint).and().sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
// Add a filter to validate the tokens with every request
httpSecurity.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);
如何解决这个问题。
我的错误如下
【问题讨论】:
【参考方案1】:您需要在antMatchers()
中指定整个端点。据我所知,您要访问的网址是 .../api/v1/basicauth
=> 将 /basicauth 字符串更改为 /api/v1/basicauth。。 p>
【讨论】:
另一种解决方案可能是使用 /*/basicauth 并且它更通用(basicauth 之前的映射可以是任何东西)。但出于身份验证的目的,我认为最好使用完整的端点。以上是关于http url 的 Http 失败响应:401 Unauthorized的主要内容,如果未能解决你的问题,请参考以下文章
请求因HTTP状态401失败:Unauthorized的原因?
服务器返回 HTTP 响应代码:401 用于 URL:https
未捕获(承诺):响应状态:401 未经授权的 URL:http://example.com/wp-json/wp/v2/posts