#spring-mvc #security #jax-rs #wildfly
#spring-mvc #Безопасность #jax-rs #wildfly
Вопрос:
У меня есть приложение с Spring MVC 5, работающее на Wildfly 14.
У Wildfly настроен домен безопасности, и я пытаюсь понять, как получить относительную информацию, используя Spring MVC.
В старых приложениях я могу использовать информацию о домене безопасности с помощью EJBS: например, я могу получить доступ к информации о вызывающем абоненте в 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 в мои контроллеры?
Комментарии:
1. Если вы используете Spring MVC, вам было бы намного лучше просто использовать Spring Security.