我正在尝试将Web应用程序从Websphere 8.5.5迁移到Liberty 16.0.0.3。在Websphere中,我曾经定义了一些J2C安全性条目,然后以编程方式加载了这些条目。我如何在自由中实现这一目标?
我尝试在server.xml中定义一个“ authData”条目,然后通过AuthDataProvider.getAuthData()进行加载,但这需要“ passwordUtilities-1.0”功能,如果激活该功能,则会使我的应用程序混乱,因为每当我尝试通过以下方式访问该应用程序时浏览器中会显示一个授权弹出窗口。
任何人都可以向我解释如何解决此问题,或者是否应该以其他方式解决?任何提示都会有所帮助。谢谢!
答案 0 :(得分:0)
您是否定义了保护Web应用程序的安全性约束-在web.xml或批注中?这是同一应用程序,不会在WebSphere 8.5.5中提示您吗?
如果应用程序中定义了安全限制,则由于passwordUtilities-1.0包含appSecurity功能而将被提示。如果应用程序具有安全性约束并且由于某种原因无法删除,则可以使用应用程序的application-bnd元素为应用程序角色分配EVERYONE特殊主题,以避免提示。一个例子:
<application location="myApp.war">
<application-bnd>
<security-role name="appRoleName"> <!-- role name listed in the security constraints -->
<special-subject type="EVERYONE"/>
</security-role>
</application-bnd>
</application>