У меня есть приложение с Spring MVC 5, работающее на Wildfly 14.
У Wildfly есть настроенный домен безопасности, и я пытаюсь понять, как получить относительную информацию с помощью Spring MVC.
В более старых приложениях я могу использовать информацию о домене безопасности с EJB: например, я могу получить доступ к информации о вызывающем абоненте в EJB без состояния с помощью SecurityContext:
@Context
private SecurityContext sec;
@GET
@Path("test")
@PermitAll
@Produces({ MediaType.APPLICATION_JSON })
public MyResult test() {
Principal principal = sec.getUserPrincipal();
boolean isUser = sec.isUserInRole("USER");
return new MyResult(isUser +" Hello, " + sec.getUserPrincipal() + "!");
}
Чтобы использовать аннотации SecurityContext и PermitAll, я использовал Resteasy (предоставленный Wildfly) включив его в web.xml:
<context-param>
<param-name>resteasy.role.based.security</param-name>
<param-value>true</param-value>
</context-param>
Сейчас я использую Spring MVC и не могу найти ничего, что могло бы воспроизвести эту конфигурацию с помощью EJB и RestEasy.
Какя могу ввести SecurityContext в мои контроллеры?