我们将从v.22移动到Wildfly 26。使用Keycloak v18进行身份验证
我从keycloak适配器切换到openid-connect/OIDChttp://www.mastertheboss.com/jbossas/jboss-security/secure-wildfly-applications-with-openid-connect/
登录后,我得到org.wildfly.security.http.oidc.OidcSecurityContext作为http请求属性,我可以看到一个身份验证的用户名和角色。
但是当我在无状态bean中注入@Resource SessionContext
时,sessionContext.getCallerPrincipal()
返回为org.wildfly.security.auth.principal.AnonymousPrincipal
。用于返回具有完整信息的KeycloakPrincipal
的Keycloak适配器。
是否需要其他配置来将安全性传播到EJB级别?
可能类似于Wildfly 26.1.0 final + elytron-oid -client +不会将用户传播到EJB +用户变得匿名,但我在一个WAR中拥有一切-只是一个servlet和一个无状态bean
感谢只要EJB是同一部署的一部分,标识就会被传播。然而,EJB确实需要被保护(也就是说,它需要有一个安全注释)。