将Spring MVC与Wildfly Security Domain和Java Security集成

时间:2019-03-27 14:04:59

标签: spring-mvc security jax-rs wildfly

我有一个在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?

0 个答案:

没有答案