java – 在WebSphere 8.5上使用JASPIC auth模块
作者:互联网
我有一个JASPIC auth模块,在GlassFish,WildFly和WebLogic上运行良好.
现在我们有一个使用WebSphere 8.5的新客户,我无法让auth模块在那里正常运行.
问题是WebSphere不接受auth模块放入CallerPrincipalCallback的用户名.我们其他受支持的服务器只接受这个,但出于某种原因,WebSphere认为它需要执行一些额外的检查.
在调查这个问题后,我偶然发现了这个:https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014937852
这恰好描述了我的问题,但那里没有解决方案.
我如何让WebSphere在处理CallerPrincipalHandler并接受像所有其他服务器那样的用户名?
解决方法:
归因于WebSphere 8.5,WRT的行为JASPIC CallerPrincipalCallback的处理与JASPIC规范不兼容.
CallerPrincipalCallback必须能够支持用户注册表所在的情况
集成在SAM中,包括用于提供用户组成员身份的目的.
对于基于密码的验证的特殊情况,SAM可以调用提供CallbackHandler的容器来处理PasswordValidationCallback;在这种情况下,如果在与容器的CallbackHandler集成的用户注册表中不存在用户名和/或密码组合,则CallbackHandler将返回失败结果.在这种情况下,SAM将返回失败(或继续)身份验证结果,并且不会调用CallbackHandler来处理CallerPrincipalCallback.
HTH,
罗恩蒙齐洛
标签:java,websphere,jaspic,websphere-8 来源: https://codeday.me/bug/20190528/1171848.html