我们在产品套件中使用WSO2身份服务器进行用户身份验证。最近我们将其版本从5.0.0升级到5.1.0。 在升级到WSO2身份服务器5.1.0版本后,当我们启用IWA(集成Windows身份验证)时,我们会遇到以下异常
TID: [-1234] [] [2016-07-21 18:46:52,606] DEBUG {waffle.servlet.spi.NegotiateSecurityFilterProvider} - security package: Negotiate, connection id: fe80:0:0:0:f1da:6adb:d83e:18d6%6:64966
TID: [-1234] [] [2016-07-21 18:46:52,622] DEBUG {waffle.servlet.spi.NegotiateSecurityFilterProvider} - token buffer: 1629 byte(s)
TID: [-1234] [] [2016-07-21 18:46:52,675] ERROR {org.apache.catalina.core.StandardWrapperValve} - Servlet.service() for servlet [bridgeservlet] in context with path [/] threw exception
com.sun.jna.platform.win32.Win32Exception: The token supplied to the function is invalid
at waffle.windows.auth.impl.WindowsAuthProviderImpl.acceptSecurityToken(WindowsAuthProviderImpl.java:137)
at waffle.servlet.spi.NegotiateSecurityFilterProvider.doFilter(NegotiateSecurityFilterProvider.java:102)
at waffle.servlet.spi.SecurityFilterProviderCollection.doFilter(SecurityFilterProviderCollection.java:116)
at org.wso2.carbon.identity.application.authenticator.iwa.servlet.IWAServelet.doPost(IWAServelet.java:89)
at org.wso2.carbon.identity.application.authenticator.iwa.servlet.IWAServelet.doGet(IWAServelet.java:64)
在Google上搜索问题后,我们发现了以下帖子。
https://github.com/dblock/waffle/issues/107
在早期版本的Waffle库中看起来有一些问题,在1.7.4版本中得到了解决。 WSO2身份服务器5.1.0附带Waffle库版本1.6.0(waffle-jna_1.6.0.wso2v4.jar)。
现在我的问题是我们是否有任何可用的WSO2身份服务器补丁,其中包括最新的Waffle库(1.7.4或更高版本)? 我们可以简单地下载最新版本的Waffle并放入“wso2is-5.1.0 \ repository \ components \ plugins”文件夹吗?它会起作用吗? 我们需要看看它是否解决了上述问题。我们无法找到此问题的任何其他解决方案。
答案 0 :(得分:0)
将新版本放入plugins文件夹将无效。您需要按照以下步骤操作,
wso2server.bat -DosgiConsole
在OSGI控制台中启动IS。一旦服务器在osgi控制台中运行ss
并找到org.wso2.carbon.identity.application.authenticator.iwa
的包ID(这将是一个低于~500的整数)。然后b <bundle_id>
并确保它绑定1.7版本的华夫饼包。