小编Pie*_*ius的帖子

如何在Kerberos SSO登录失败时设置apache重定向或自定义401文档

我有一个工作的Kerberos SSO设置,我使用apache和jboss与mod_jk.Apache正在使用以下配置保护(通过kerberos)auto-login.htm页面:

<Location /auto-login.htm>  
AuthType           Kerberos  
AuthName           "Kerberos Active Directory Login"  
KrbMethodNegotiate on  
KrbMethodK5Passwd  on  
KrbAuthRealms      KRB.SOMEDOMAIN.COM  
KrbServiceName     HTTP/server.somedomain.com@KRB.SOMEDOMAIN.COM  
Krb5Keytab         /etc/krb/krb5.keytab  
KrbVerifyKDC       on  
KrbAuthoritative   on  
require            valid-user  
#ErrorDocument 401  /login.htm  
</Location>
Run Code Online (Sandbox Code Playgroud)

这100%工作,我能够使用Kerberos/SSO登录并在我的java应用程序中读取remote_user变量.

现在的问题是,如果用户无法通过Kerberos/SSO登录,我想重定向到不受保护的login.htm.我想到的解决方案是设置401 ErrorDocument,但是当我通过在上面的代码中取消注释#ErrorDocument 401来设置它时,它总是重定向到login.htm,因为返回401以请求用户凭据本身就是Kerberos的一部分/ SSO身份验证过程.因此,结果是用户总是以login.htm结束,并且永远不会完成Kerberos/SSO登录过程.

任何帮助或替代解决方案将不胜感激.

在此先感谢
皮埃尔

apache jboss kerberos single-sign-on http-status-code-401

2
推荐指数
1
解决办法
2603
查看次数