java – 与应用程序隔离的WildFly9 JASPI模块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 与应用程序隔离的WildFly9 JASPI模块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2094字,纯文字阅读大概需要3分钟。
内容图文
![java – 与应用程序隔离的WildFly9 JASPI模块](/upload/InfoBanner/zyjiaocheng/780/7887439abcc54de7ab49ec985864a5f1.jpg)
我正在尝试创建一个与我的EAR应用程序完全隔离的自定义JASPI ServerAuthModule.它取决于Spring框架2.5.5的遗留版本.我正在运行WildFly 9.0.2.Final.
我定义了一个合适的安全域:
<security-domain="sample">
<authentication-jaspi>
<login-module-stack name="...">
<login-module code="..." flag="...">
<module-option name="..." value="..."/>
</login-module>
</login-module-stack>
<auth-module code="..." login-module-stack-ref="...">
<module-option name="..." value="..."/>
</auth-module>
</authentication-jaspi>
</security-domain>
然后为我的Auth-Module依赖项定义了一个自定义JBoss模块.
$WILDFLY/modules/com/my/module/main/module.xml
$WILDFLY/modules/com/my/module/main/spring-core-2.5.5.jar
$WILDFLY/modules/com/my/module/main/etc.jar (..)
然后我把我的模块挂钩作为一个纠察线依赖.
cat $WILDFLY/system/layers/base/modules/org/picketbox/main/module.xml
<module xmlnx="..." name="org.picketbox">
...
<dependency>
...
<module name="org.my.module" />
</dependency>
</module>
当我尝试使用指向“示例”安全域的jboss-web.xml来部署my-app.ear的my-app.ear时,它成功找到了我想要的类,启动了JASPI生命周期,但是当时它开始创建Spring Context和Spring Beans,它位于my-app.ear.my-app.war模块类加载器上,并且正如预期的那样找不到类.
ClassNotFoundException: com.my.module.ClassX from [Module “deployment.my-app.ear.my-app.war:main” from Service Module Loader]
我不想在jboss-deployment-structure.xml中添加com.my.module作为依赖项.这样做可以使应用程序按需运行.虽然我需要它孤立.
我的问题是:
>是否可以将JASPI模块类与我的应用程序隔离?
>这种方法(挂钩为org.picketbox依赖)是否推荐?
>它是Spring Framework 2.5.5的限制吗?也许它使用除当前线程类加载器之外的类加载器.
提前致谢.
解决方法:
我找到了一个有趣的指南,它解释了我们很多关于JBoss模块和类加载问题的内容.
这里:https://developer.jboss.org/wiki/ModuleCompatibleClassloadingGuide
它说TCCL在某些情况下可能是癌症.
我发现传统的Spring 2.5.5使用TCCL来加载类并实例化它的bean.
为了纠正这种行为,我扩展了ClassPathXmlApplicationContext并覆盖了最初来自TCCL(ClassUtils.getDefaultClassLoader)的getClassLoader().
一切都开始工作,与主应用程序隔离.问题解决了.
如果有人试图做一些孤立的模块实现并且得到奇怪的行为,我建议从你的底层框架开始怀疑.
内容总结
以上是互联网集市为您收集整理的java – 与应用程序隔离的WildFly9 JASPI模块全部内容,希望文章能够帮你解决java – 与应用程序隔离的WildFly9 JASPI模块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。