我需要在旧版 Grails 应用程序中实现 NTLM v2 身份验证。到目前为止,我发现的只是一个 Grails ntlm-auth插件,它仅支持 NTLM v1 和一个 Java ntlmv2-auth库,我不知道如何附加到应用程序。
对于现有插件的任何建议或将ntlmv2-auth库集成到应用程序的指南,我将不胜感激。
您可以使用 Apache mod_auth_kerb 进行 NTLMv2 身份验证。有关详细信息,请参阅http://www.grolmsnet.de/kerbtut/ 。
然后,您必须可以使用 HTTP 标头或 AJP 将经过身份验证的用户传递给 Tomcat。有关 AJP 解决方案,请参阅通过 AJP 将 REMOTE_USER 转发到 tomcat(例如,对于 shibboleth)和https://serverfault.com/questions/207301/get-the-authenticated-user-under-apache以在 http 标头中传递 REMOTE_USER。
在 SpringSecurity 中,您可以使用 RequestHeaderAuthenticationFilter 从从 Apache 传递到 Tomcat 的标头中获取经过身份验证的用户。有关正确方向的一些提示,请参阅Grails、Spring Security 和 Siteminder - 资源问题或 userDetails。