1

我正在尝试在我的 Java 中将Waffle与 Tomcat 7 应用程序一起使用,但 Windows 身份验证不起作用。

我有一个运行良好的 Web 应用程序,因此我向 Waffle 添加了 Maven 依赖项:

<dependency>
        <groupId>com.github.dblock.waffle</groupId>
        <artifactId>waffle-jna</artifactId>
        <version>1.7.4</version>
</dependency>

我在 web.xml 中添加了过滤器:

<filter>
<filter-name>SecurityFilter</filter-name>
<filter-class>waffle.servlet.NegotiateSecurityFilter</filter-class>
<init-param>
    <param-name>principalFormat</param-name>
    <param-value>fqn</param-value>
</init-param>
<init-param>
    <param-name>roleFormat</param-name>
    <param-value>both</param-value>
</init-param>
<init-param>
    <param-name>allowGuestLogin</param-name>
    <param-value>false</param-value>
</init-param>
<init-param>
    <param-name>impersonate</param-name>
    <param-value>false</param-value>
</init-param>
<init-param>
    <param-name>securityFilterProviders</param-name>
    <param-value>waffle.servlet.spi.NegotiateSecurityFilterProvider</param-value>
</init-param>
<init-param>
    <param-name>waffle.servlet.spi.NegotiateSecurityFilterProvider/protocols</param-name>
    <param-value>
            NTLM
            Negotiate
    </param-value>
</init-param>

<filter-mapping>
    <filter-name>SecurityFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

所以,当我访问我的页面时,我打开一个登录对话框并且用户登录。我看到的问题是当用户已经登录一次并且对话框打开时,用户需要再次输入他们的凭据,因为他们'没有得救。我尝试使用 waffle 来使用 SSO 保存他们的凭据,但在我的控制台中我总是收到此错误:

[waffle.servlet.NegotiateSecurityFilter] error logging in user: com.sun.jna.platform.win32.Win32Exception:
4

0 回答 0