在 Linux 上使用 Tomcat 进行 Waffle 身份验证

标签 waffle

用例: 我将研究使用 Java(基于 Spring)Web 应用程序实现 SSO 的可能方法,其中用户属于 Windows 域并且用户(及其凭据)存储在 Windows Active Directory 中(针对其执行身份验证)。

使用的技术:Spring Security 3 与 Waffle API 集成

错误描述:

当我的 Web 应用程序(集成了 Waffle API 的 Spring Security 3)部署在 Linux 环境下的 Tomcat 上时,我在验证用户时遇到了问题。

但是当我在 Windows 环境(Windows 上的 Tomcat 服务器)下部署我的应用程序时,我的身份验证工作正常。

我在 Linux 环境中收到以下错误消息:

java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.platform.win32.Advapi32 at waffle.windows.auth.impl.WindowsAuthProviderImpl. logonDomainUserEx(windowsAuthProviderImpl.java:170

Waffle API 是否有任何解决方法,可以通过在 Linux 环境(Linux 环境上的 tomcat 服务器)上部署该应用程序来验证基于 Windows AD 的用户?或者有没有其他方法可以实现我的上述用例,将我的应用程序部署在 Linux Box 下的 Tomcat 服务器上?

最佳答案

Waffle 不能在 Linux 机器上使用,因为它与 native Windows API 通信。

您需要使用 Spring Kerberos。

关于在 Linux 上使用 Tomcat 进行 Waffle 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28439868/

相关文章:

playframework - Play Framework 2 中的 Windows 登录用户 SSO

java - HttpURLConnection 中的 NTLM 身份验证在 JRE 中不起作用,但在 JDK 环境中起作用

r - 华夫饼图 - FontAwesome 问题

java - Waffle SSPI如何设置SPNEGOmutualFlag

java - 识别 Windows AD 远程用户 Spring Boot + Waffle

java - 使用 Spring Boot 和 Waffle 配置 Spring Security 时发生循环依赖错误

java - UnsatisfiedLinkError - native 库 - jnidispatch.dll

java - 华夫饼作为Jboss 7.1中的模块