我打算把我的应用程序从jboss迁移到openliberty。在jboss中,我使用DatabaseServerLoginModule完成了身份验证和角色Map,并在standalone.xml文件中进行了配置。我如何使用openliberty实现同样的事情?我使用java作为后台。
另外,我需要帮助在下面-
想知道如何在自由配置下面的代码?在jboss的standalone.xml里面,我可以提供一个类名,这个类名会被自动调用,我可以指定密码和角色查询-
<security-domain name="APPRealm" cache-type="default">
<authentication>
<login-module code="com.applayer.common.security.AppLoginModule" flag="required">
<module-option name="dsJndiName" value="java:jboss/datasources/APPDS"/>
<module-option name="principalsQuery" value="select password from ScUser where loginName=?"/>
<module-option name="rolesQuery" value="select r.jaasRoleName, 'Roles' from ScJAASRole r where r.jaasRoleTypeName = 'systemUser' OR ? LIKE 'SystemUser'"/>
</login-module>
</authentication>
字符串
2条答案
按热度按时间vfwfrxfs1#
只是想留下以下关于如何在openliberty中配置JAAS loginModules的文章供您参考。希望您的DatabaseServerLoginModule能够神奇地工作,或者只需要做一些小的更改就可以工作。
Liberty的身份验证概述https://openliberty.io/docs/latest/authentication.html
分步JAAS配置(本文针对商业Liberty。开放自由的相同步骤)https://www.ibm.com/docs/en/was-liberty/base?topic=liberty-configuring-jaas-custom-login-module
参考https://openliberty.io/docs/latest/reference/config/jaasLoginModule.html
llmtgqce2#
DatabaseServerLoginModule
是一个较旧的JBoss SPI,它看起来像是在最近的版本中从Wildfly中删除的,因为它使用了JDK中不再存在的安全API。正如Hiroko所链接的,OpenLiberty有一个Authentication options。
对于应用程序身份验证,来自Jakarta Security的@DatabaseIdentityStoreDefinition将是一个很好的替代品,下面是一个servlet的示例:
字符串
对于authorization,可以将用户/组Map到server.xml中的角色:
型
如果你需要数据库支持的服务器身份验证,我会考虑创建一个自定义用户注册表:https://community.ibm.com/community/user/wasdevops/blogs/hiroko-takamiya1/2021/11/19/configuring-custom-user-registry-liberty的
Hiroko有一个git仓库,这里有一个例子:https://github.com/una-tapa/bellscur的