Secur32Util.getUserNameEx 替换
Secur32Util.getUserNameEx replacement
我有一个案例,其中 Java 应用程序使用来自 jna 的 Secur32Util.getUserNameEx 以单点登录的格式获取用户名。在某些机器上,此函数调用会执行几分钟。我还不知道为什么会这样。但同时想请问有没有可以替代那个调用的替代方法
为了开始讨论,我已经在卡在执行 Secur32Util.getUserNameEx 的机器上立即测试了 NTSystem#getName() 和 NTSystem#getDomain() return。这些功能可以互换吗?
您是否尝试过用纯 C 语言重现这个问题?
您可以尝试为用户名 (SECPKG_CRED_ATTR_NAMES
) 调用 AqcuireCredentialsHandle
for SPNEGO or Kerberos and query that object。这会给你完全相同的结果。
我已经创建了一个相应的 C++ 应用程序,可以立即执行。但是,事实证明我的应用程序使用的是 JNA 3.3 版,当我更新到当前版本时它没有那个问题。
我有一个案例,其中 Java 应用程序使用来自 jna 的 Secur32Util.getUserNameEx 以单点登录的格式获取用户名。在某些机器上,此函数调用会执行几分钟。我还不知道为什么会这样。但同时想请问有没有可以替代那个调用的替代方法
为了开始讨论,我已经在卡在执行 Secur32Util.getUserNameEx 的机器上立即测试了 NTSystem#getName() 和 NTSystem#getDomain() return。这些功能可以互换吗?
您是否尝试过用纯 C 语言重现这个问题?
您可以尝试为用户名 (SECPKG_CRED_ATTR_NAMES
) 调用 AqcuireCredentialsHandle
for SPNEGO or Kerberos and query that object。这会给你完全相同的结果。
我已经创建了一个相应的 C++ 应用程序,可以立即执行。但是,事实证明我的应用程序使用的是 JNA 3.3 版,当我更新到当前版本时它没有那个问题。