当前位置: 首页 > 知识库问答 >
问题:

带有Keycloak的安全JEE应用程序具有SessionContext.getCallerPrincipal()匿名

柳深
2023-03-14

我有一个用Keycloak保护的JEE服务(JaxRx),身份验证是有效的,但是当我想用@rolesalloved应用安全性时,我得到了EJBAccessException

该服务部署在Wildfly11中,关于文档,我使用@securitydomain(“keycloak”)和下一个配置文件(jboss-ejb3.xml)将安全上下文传播到EJB层。

<?xml version="1.0" encoding="UTF-8"?>
<jboss:jboss
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
    xmlns:s="urn:security:1.1"
    version="3.1" impl-version="2.0">

  <assembly-descriptor>
    <s:security>
      <ejb-name>*</ejb-name>
      <s:security-domain>keycloak</s:security-domain>
    </s:security>
  </assembly-descriptor>
</jboss:jboss>

我在Wildfly中安装了keycloaksecurity-domain

如图中所示,请求用户是在RequestContext中标识的,但在SessionContext(上下文)不存在的情况下,它显示Anonymouth而不是用户。

一些想法在我的服务中会缺少什么?

共有1个答案

乐修远
2023-03-14

在本例中,我的WEB-INF文件夹中缺少jboss-web.xml文件。

我添加了一个名为jboss-web.xml的文件,其内容如下,工作起来很有魅力。

<?xml version="1.0" encoding="UTF-8"?>
<jboss>
    <security-domain>keycloak</security-domain>
</jboss>
 类似资料:
  • 我们维护一个遗留的(jboss 4.2.3、EJB3、jsp、jdk 1.6.45 64b)应用程序。 null 我们的一个客户在一天中的一部分时间里有一些不好的性能。 生成了许多与用户活动没有任何关系的线程。 正常活动线程数为300/400线程 有时它在几秒钟内增长到4k,在几分钟内缓慢下降 有时它可以增长到25 k个线程,并且需要几个小时才能减少,应用程序变得没有响应(需要重新启动)

  • 问题内容: 我需要从Docker容器中在后台运行的Java应用程序中启动Selenium。启动失败,因为在运行时无法访问X11环境。请参阅下面的内容。 我该怎么办? 问题 我从安装Java 8和Jetty 9.3.x 的简单程序开始运行一个简单的服务(实际上是selenium的东西)。该服务实际上是为了启动一些需要UI才能执行的事情而设置的。我遇到的问题是其中的任何内容执行失败,因为UI在我运行的

  • 我需要匿名公开执行器“health”endpoint,这意味着对该endpoint的请求不会通过SiteMinder,因此,HTTP请求头中不会出现SM_USER头。 我面临的问题是,无论我如何尝试配置“health”endpoint,框架都会抛出,因为当请求没有通过SiteMinder时,预期的头(“sm_user”)不存在。 这是我最初的安全配置: 我试过的事情: 为匿名访问而不是Permit

  • [错误]原因:java.lang.IllegalStateException:HttpAuthenticationFactory的机制[KEYCLOAK]中没有必需的机制“Basic”。“}}}}

  • 我有一个注册了< code>Keycloak的外部< code>openidconnect身份提供者。当客户端应用程序试图访问受保护的资源时,它会被重定向到< code>KeyCloak登录页面。在登录页面上,我启用了外部< code>openidconnect提供程序按钮。一旦用户单击该按钮,他将被带到外部身份提供者(即identityserver3实例)。外部提供商对用户进行身份验证并发回一个

  • 攻击者无时无刻不在准备对你的 Web 应用程序进行攻击,因此提高你的 Web 应用程序的安全性是非常有必要的。幸运的是,来自The Open Web Application Security Project (OWASP) 的有心人已经整理了一份包含了已知安全问题和防御方式的全面的清单。这份清单对于具有安全意识的开发者来说是必读的。由 Padraic Brady 整理的 Survive The D