我有一个在Wildfly 14上运行Spring MVC 5的应用程序。
Wildfly具有已配置的安全域,我正在尝试了解如何使用Spring MVC获取相关信息。
在较旧的应用程序中,我可以将安全域信息与EJB一起使用:例如,我可以通过SecurityContext访问无状态EJB中的调用者信息:
@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?