Как сохранить аутентификацию Spring Security Context в асинхронном вызове? - PullRequest
0 голосов
/ 15 октября 2019

Я получаю нулевую аутентификацию от SecurityContext в асинхронном методе. Хотя я настроил стратегию Spring Security как MODE_INHERITABLETHREADLOCAL, аргумент командной строки как -Dspring.security.strategy = MODE_INHERITABLETHREADLOCAL. Пожалуйста, решите мою проблему. Спасибо

Это контроллер приветствия.

@Controller
public class WelcomeController {
@Autowired
private AsyncBean asyncBean;

@RequestMapping(value= {"/"}, method =RequestMethod.GET)
public String index()
{
    asyncBean.asyncCall();
    return "index";
     }

}

Это компонент AsyncBean

@Component
public class AsyncBean {

@Async
public void asyncCall()
{
    System.out.println();
}

}

Проблема здесь в методе индекса контроллера приветствия. Я получаю объект Authenticaion в порядке. Но когда мой контроллер вызывает asyncCall () и , когда программа потока управления находится внутри asyncCall () AsynchBean, я получаю объект аутентификации как NULL

...