Apache2,Kerberos,SSI:如何在另一个用户下登录



我有一个通过REMOTE_USER标头授权的web应用程序。如果apache2+mod_auth_kerb用某个ActiveDirectory用户名设置REMOTE_USER,我的web应用程序就会知道使用该用户名的用户已经登录。我有单点登录(SSI),它运行得很好,但当我想以另一个用户身份登录时,我该怎么办?如何强制kerberos重新登录(例如,通过基本身份验证)?

如果mod_auth_kerb不可能,但其他apache(或nginx)mod可能,那就完全可以了!

附言:顺便问一下,在授权过程中依赖REMOTE_USER HTTP头是否安全?

如果用户通过浏览器类型的基本身份验证,则无法注销。

尝试使用Stanford WebAuth。这允许您呈现浏览器内登录页面,并且仍然使用用户的Kerberos凭据(您可以选择使用SPNEGO进行无密码登录)。它还提供了全面的注销功能——用户的浏览器不会停止Kerberos身份验证,但会停止WebAuth登录。

依赖REMOTE_USER服务器变量是安全的。它不是HTTP头——在PHP中,它应该是$_SERVER['REMOTE_USER'],而不是$_REQUEST['REMOTE_USER']。它是由服务器端代码设置的。

相关内容

最新更新