для доступа к этому ресурсу требуется полная аутентификация — вызов веб-службы Rest

#java #spring #rest #spring-security

#java #spring #rest #spring-безопасность

Вопрос:

Мое приложение разработано с использованием spring framework.Я создал новый веб-сервис rest с использованием spring framework.

 @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";
  }
  

MyService:

 public interface BusinessCalendarService {

 //methods..
}
  

Я хочу увидеть ответ вышеупомянутого веб-сервиса. Я использую инструмент postman для просмотра ответов.
Когда я передал запрос как
http://localhost:8080/myApplication/rest/acc/Status/322298973 , он показывает приведенное ниже сообщение.

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

Существующие контроллеры работают нормально, именно с моим контроллером отображается вышеупомянутое сообщение. Пожалуйста, предложите, нужно ли мне вносить какие-либо изменения в код? Я следовал тому же пути, что и другие контроллеры. были написаны.

Комментарии:

1. Где-то у вас есть какая-то конфигурация безопасности Spring, в которой говорится, что путь требует полной аутентификации. Опубликуйте любую имеющуюся у вас конфигурацию безопасности.

Ответ №1:

Вам либо необходимо аутентифицировать пользователя перед отправкой в этот uri, либо, если это uri, к которому можно получить доступ без аутентификации, добавьте uri в свою authorizeRequests().antMatcher() часть http security вашей конфигурации.

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