用户通过 mod_auth_kerb 进行身份验证,效果很好。因此我需要设置
需要有效用户
如果没有有效用户,Apache 将失败并出现 401 需要授权。我希望 Apache 无论如何都能提供网站,但不REMOTE_USER
向底层应用程序(python 代码或 php 脚本)提供。
这与如何告诉 mod_auth_kerb 在没有“需要有效用户”的情况下完成其工作。但有一个重要的区别,那就是在每个 URL 的整个子目录上都应该启动 Kerberos 协商,如果失败,也应该传递内容。
答案1
无法将 Apache 配置为仅“尝试”进行身份验证。
我处理这个问题的方法是让你的应用程序决定何时尝试验证客户端,例如使用会话 cookie。如果客户端的会话已过期,则让应用程序将客户端重定向到“需要有效用户”所涵盖的特定页面,并设置一个 ErrorDocument,以便在发生故障时重定向回应用程序。