问题标签 [jaspic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
274 浏览

login - JASPIC 登录 Wildfly 9 发送 HTTP 返回码

我仍在尝试为 Wildfly 9 实现自定义 JASPIC 登录模块。如果登录成功,一切都按预期工作。但如果登录不成功,我希望得到 HTTP 403 响应。所以我写了这个小测试:

结果是这样的:

我尝试了这三个选项来结束无效身份验证后validateRequest的方法:ServerAuthModule

但以上都不会产生身份验证失败 HTTP 响应 (403)。这又是一个 Wildfly 错误吗?还是我必须以其他方式生成此返回码?

0 投票
1 回答
709 浏览

java - JASPIC Wildfly 9 validateRequest 与会话

基于这个Jaspic 示例,我为 a 编写了以下validateRequest方法ServerAuthModule

这可以按预期工作,对于 ejb 的第一次调用,@RolesAllowed("aRole")但对于下一次调用,这根本不起作用。Wildfly 通过以下错误消息否认它:

如果我猜对了,错误发生在: wilfly 的源代码的org.jboss.as.security.service.SimpleSecurityManager 第 367 行,由于第 405 行,其中credential已检查,但似乎是null.

这在 Wildfly 8/9/10CR 中似乎是相同的(其他版本未测试)。

我再次不确定,如果我做错了,或者这是否与 https://issues.jboss.org/browse/WFLY-4626相同的错误?这是一个错误,还是预期的行为?

0 投票
2 回答
310 浏览

java - WildFly9 JASPI 模块与应用程序隔离

我正在尝试创建一个完全与我的 EAR 应用程序隔离的自定义 JASPI ServerAuthModule。它依赖于 spring 框架 2.5.5 的旧版本。我正在运行 WildFly 9.0.2.Final。

我定义了一个适当的安全域:

然后为我的 Auth-Module 依赖项定义了一个自定义 JBoss 模块。

然后我把我的模块作为一个纠察箱依赖项。

当我尝试部署一个指向“示例”安全域的公用my-app.ear程序my-app.warjboss-web.xml,它成功找到了我想要的类,启动了 JASPI 生命周期,但是当它开始创建 Spring Context 和 Spring Beans 时,它落在了my-app.ear.my-app.warModule Classloader 和正如预期的那样没有找到课程。

ClassNotFoundException:com.my.module.ClassX 来自 [来自服务模块加载器的模块“deployment.my-app.ear.my-app.war:main”]

我不想com.my.modulejboss-deployment-structure.xml. 这样做会使应用程序按需要工作。虽然我需要它隔离。

我的问题是:

  • 是否可以将 JASPI 模块类与我的应用程序隔离开来?
  • 是否推荐这种方法(挂钩作为org.picketbox依赖项)?
  • 这是 Spring Framework 2.5.5 的限制吗?也许它使用了当前线程类加载器以外的类加载器。

提前致谢。

0 投票
2 回答
1059 浏览

java - Jaspic ServerAuthModule 委托给 JAAS Krb5LoginModule

我必须编写一个自定义的 Jaspic ServerAuthModule(它需要将专有的身份验证 Cookie 添加到 HTTP 响应和 HTTP 请求以传播到应用服务器上运行的应用程序)。身份验证必须使用 Kerberos、SPNEGO 完成。

要使用的应用服务器是 JBOSS EAP 6.4.x

我设法使用 JAAS Krb5LoginModule 获得身份验证。

我使用的 JBOSS EAP Standone.xml

jboss-web.xml

我还设法extends org.jboss.as.web.security.jaspi.modules.WebServerAuthModule使用以下配置使定制的 JASPI 模块正常工作():

jboss-web.xml

如何使用默认的 JAAS Krb5LoginModule?

我应该在 jboss-web.xml 中包含这两个阀门吗?(顺序很重要)

jboss-web.xml

提前谢谢了

0 投票
1 回答
752 浏览

java - 为 JBoss 实现自定义 ServerAuthModule

我需要记住 的原始 URL Http Request,然后将此请求重定向到 Web 表单以进行用户身份验证。如果身份验证成功,则必须将用户重定向到original URL刚刚记住的上面。我正在使用JBoss 7.1.1 Final一个标准web.xml和 JBoss 登录模块org.jboss.security.auth.spi.DatabaseServerLoginModule

我已经提到了以下链接,这些链接并没有完全回答我的问题:

但是,在实施我的解决方案之后,我的自定义 ServerAuthModule 根本没有被调用。更糟糕的是,我没有从服务器获得任何 HttpResponse。东西坏了,求救!

我的web.xml

我的 jboss-web.xml:

我的standalone.xml

我的习惯WebServerAuthModule

0 投票
1 回答
181 浏览

jakarta-ee - Jaspic:处理对未受保护资源的访问

我正在研究 JASPIC,我从头开始了一个小项目来探索它以及它在 Wildfly 上的表现。第一步是调用我的 SAMvalidateRequest方法并返回未受保护资源的内容,即index.html页面。好的,validateRequest被调用。我检查MessageInfo javax.security.auth.message.MessagePolicy.isMandatory属性是否设置为false. 困难时期来了。在我的第一次尝试中,如果属性设置为 falsevalidateRequest返回AUTH_SUCCESS值,但浏览器返回403错误。在我的第二次尝试validateRequest返回时null,浏览器返回 a200但响应中没有数据(与 无关index.html)。我应该怎么做才能正确处理 servlet 请求?你可以在这里找到源代码。谢谢。

0 投票
1 回答
221 浏览

jakarta-ee - Jaspic:处理对受保护资源的访问

我(仍在)研究 JASPIC,通过简单的项目做一些实验:这个。当我调用受保护的资源时,通过并返回ServerAuthModule检查凭据。HTTP 响应是 200 但它是空的。我使用这两个命令来测试:validateRequestAuthStatus.SUCCESScurl

第一个命令是获取第二个命令中使用的令牌。我将 Jaspic 与 Wildfly10 和 RestEasy 一起使用。

更新: 我更新了链接项目。现在它是一个完整的工作Jaspic示例。

0 投票
1 回答
106 浏览

websphere - WebSphere 错误消息上的自定义 JASPIC

虽然类似,但我在 WebSphere 8.5 上使用 JASPIC auth 模块中没有解决我遇到的具体问题

我收到以下错误消息:

SECJ8027E: 必须使用属性 com.ibm.websphere.jaspi.configuration 指定存储 JASPI 持久注册的文件的路径和名称。

我可以将管理中的自定义属性设置为某个现有文件夹,但我想确保这是正确的方法,或者我是否缺少某些步骤。

注意我专门使用“嵌入应用程序”方法而不是服务器安装的 JASPIC 模块,所以我有这样的东西

我在 WebSphere 8.5.5.11 和 9.0.0.3 上都有错误

0 投票
0 回答
753 浏览

jboss - Wildfly 中用于 JASPI 身份验证的自定义身份验证模块

我需要在 wildfly 中使用自定义身份验证模块进行 JASPI 身份验证。我的独立-full.xml:

我的 jboss-web.xml:

当我请求应用程序 url 时,我收到 NoClassDefFoundError:

我还在for模块中添加了自定义模块in.hrworks.testmodule作为依赖项。但这似乎没有任何效果。module.xmlorg.jboss.as.security

我犯了什么错误吗?

一些更新:

在启用 TRACE 级别日志记录后,org.jboss.modules我发现我的模块缺少对javax.security.auth.message.api. 但是在添加了这个依赖之后,我得到了一个不同的错误:

知道可能是什么原因吗?

0 投票
0 回答
111 浏览

jakarta-ee - 为什么 Websphere 不能与我的 JASPI 登录模块一起使用?

在一个以简单 REST web 服务为例的测试应用程序中,我尝试使用 JASPI 来实现 java-ee 安全性。

JASPI 与 Wildfly 合作得很快。那时,我刚刚实现了 ServerAuthModule 接口并在服务器配置中配置了该模块,一切都很好。请注意,auth 模块类只是我的应用程序的一部分。

我无法让它在 Websphere 中工作,据我所知,这一次完全实现了:http ://arjan-tijms.omnifaces.org/2012/11/implementing-container-authentication.html 。部署我的应用程序后,我遇到了这些问题:

  • 身份验证在我的应用程序中被完全忽略,尽管它是根据 web.xml 中所有资源的要求指定的。未调用登录模块。
  • 现在最奇怪的部分是:Websphere 自己的管理控制台失败并显示403 Forbidden状态代码。在我的身份验证模块中强制使用正确的用户名时,我可以以某种方式强制显示其中的某些部分!对控制台的每个请求都会在我的登录模块中触发断点。

使用 wsadmin 命令行控制台甚至从 java 而不是管理控制台进行部署似乎并没有改变这一点(正如预期的那样,但我在 Websphere 中看到了这方面的奇怪事情)。

在 Websphere 中启用 JASPI 和应用程序安全不会改变任何事情。

有什么我可以纠正的吗?您知道在 Websphere 上使用 JASPI 的任何示例吗?

编辑:Java EE 7 Samples基本身份验证应用程序部署在 websphere 上,但只是忽略了安全性。