我知道IWA身份验证器主要用于SPNEGO身份验证。我的问题是关于回退到基本身份验证。
当用户未提供 SPNEGO 协商标头(用户未以域用户身份登录或浏览器不信任站点)时,华夫饼 IWA 将回退到基本身份验证(这是可以的)。
问题是,一旦用户输入无效凭据,IWA 身份验证器就会抛出/显示异常,而没有任何重试选项。
com.sun.jna.platform.win32.Win32Exception: The logon attempt failed
waffle.windows.auth.impl.WindowsAuthProviderImpl.acceptSecurityToken(WindowsAuthProviderImpl.java:137)
waffle.servlet.spi.NegotiateSecurityFilterProvider.doFilter(NegotiateSecurityFilterProvider.java:102)
waffle.servlet.spi.SecurityFilterProviderCollection.doFilter(SecurityFilterProviderCollection.java:116)
org.wso2.carbon.identity.application.authenticator.iwa.servlet.IWAServelet.doPost(IWAServelet.java:89)
我相信在以前的版本(5.0.0.SP1)中,用户可以重新进行身份验证(显示一个新的弹出窗口),但是目前我无法验证它。
有没有办法强制执行/允许重试基本身份验证?
我错过了tomcat网络的配置.xml
<security-constraint>
<display-name>Security Constraint for IWA</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/iwa/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Everyone</role-name>
</auth-constraint>
</security-constraint>
在这种情况下,将询问基本身份验证,并在失败时重试