[CentOS 5.3,glassfish 3.1.1,jdk1.6.30 64bit,spnego R7]
我定义了一个SPNEGO过滤器,使用Kerberos(基本模式)针对AD对用户进行身份验证。如果用户提供适当的证书,则将页面内容发送给用户。但是如果身份验证不成功,则会向客户端返回一个包含401错误的空页面。我在web.xml中定义了401错误页面。
我的问题是:如果SPNEGO身份验证(== SPNEGO过滤器)失败,如何向用户发送任何内容?我是否必须定义一些SPNEGO参数?或者,如果之前的过滤器没有返回任何内容,我应该添加另一个过滤器来添加“登录失败”内容吗?
答案 0 :(得分:0)
我认为你的web.xml中的错误页面设置应该做你想要的,但SPNEGO应该发送403(登录失败)而不是401(未经授权)。我有一个类似的环境,但SPNEGO返回状态代码403,它在我的web.xml中映射,如下所示:
<error-page>
<error-code>403</error-code>
<location>/access-forbidden.xhtml</location>
</error-page>