访问此资源需要完全身份验证 - 休息 web 服务调用

Posted

技术标签:

【中文标题】访问此资源需要完全身份验证 - 休息 web 服务调用【英文标题】:full authentication is required to access this resource - Rest webservice call 【发布时间】:2017-02-09 06:23:37 【问题描述】:

我的应用程序是使用spring框架开发的。我已经使用spring框架创建了一个新的rest webservice。

@Controller
public class MyTestController 
   @Inject
    private MyService service;

    @RequestMapping(value = "/acc/Status/accNum", method = RequestMethod.GET)
    @ResponseBody
    public String getAccStatus(@PathVariable final String accNum, final HttpServletResponse response) throws Exception
        
        //logic goes here
        return "success";
  

我的服务:

public interface BusinessCalendarService 

 //methods..

我想看看上述网络服务的响应。我正在使用邮递员工具查看回复。 当我以http://localhost:8080/myApplication/rest/acc/Status/322298973 的形式发出请求时,它显示以下消息。

HTTP Status 401 - Full authentication is required to access this resource

现有的控制器工作正常,它与我的控制器一起显示上述消息。请建议我是否需要进行任何代码修改?我遵循了与编写其他控制器相同的方式。

【问题讨论】:

您在某处有一些 Spring Security 配置,表明路径需要完全身份验证。发布您拥有的任何安全配置。 【参考方案1】:

您需要在发布到该 uri 之前对用户进行身份验证,或者,如果它是一个无需经过身份验证即可访问的 uri,请将 uri 添加到配置的 http 安全部分中的 authorizeRequests().antMatcher()

https://docs.spring.io/spring-security/site/docs/3.2.8.RELEASE/apidocs/org/springframework/security/config/annotation/web/builders/HttpSecurity.html

【讨论】:

以上是关于访问此资源需要完全身份验证 - 休息 web 服务调用的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security OAuth - 访问此资源需要完全身份验证

Spring boot + oauth2:访问此资源需要完全身份验证

POST 请求“访问此资源需要完全身份验证”

InsufficientAuthenticationException:访问此资源需要完全身份验证

出现未经授权的错误:需要完全身份验证才能访问此资源

Web服务器上的RESTful身份验证