使用WAS 8558并在其中一个URL模式上,需要调用JAAS模块。
在web.xml中输入
<security-constraint>
<display-name>SampleConstraint</display-name>
<web-resource-collection>
<web-resource-name>Sample</web-resource-name>
<url-pattern>/wasauth</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Users allowed access to spoke Identity Provider</description>
<role-name>FIMAnyAuthenticated</role-name>
<role-name>FIMUserSelfCareAnyAuthenticated</role-name>
</auth-constraint>
在server.xml中输入
<jaasLoginContextEntry id="system.FIM_OUTBOUND" name="system.FIM_OUTBOUND" loginModuleRef="myCustom, hashtable, userNameAndPassword, certificate, token"/>
<jaasLoginModule id="myCustom" className="com.*.SampleLoginModule" controlFlag="REQUIRED" libraryRef="customLoginLib">
</jaasLoginModule>
<library id="customLoginLib" apiTypeVisibility="spec, ibm-api, api">
<fileset dir="/" includes="com.**_8.0.0.jar"/>
此流程使用联合存储库功能(Liberty)进行身份验证。 上面提到的设置允许用户对存储库进行身份验证,但是不会调用JAAS模块。
如果我使用WSLoginModuleProxy将JAAS条目转换为system.WEB_INBOUND - 将调用JAAS模块。
Liberty确实启用了appSecurity-2.0功能。
是否还需要进行其他配置?
答案 0 :(得分:2)
当Liberty配置文件对受保护的Web资源执行身份验证时,它使用system.WEB_INBOUND JAAS登录配置条目。因此,将调用您在其中配置的任何自定义登录模块。
如果您已在自己或不同的JAAS配置中配置自定义登录模块,则在Web身份验证期间服务器不会调用它们。你的申请。但是,可以直接调用它。