文档在这方面并不完全清楚 - 这些变量之间是否存在差异?在IIS上,至少它们看起来是相同的,但如果它在其他服务器下可能不同,我不想依赖它。
答案 0 :(得分:7)
根据Adobe ColdFusion文档,它们是相同的。
http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Expressions_8.html
查看openbd源代码,remote_user和auth_user被映射到同一个键,因此返回相同的值。
查看railso源代码,我不太了解发生了什么,但似乎是在设置remote_user,我不确定是否在任何地方都设置了auth_user。
如果您正在设计与coldfusion,railo和openbd兼容的应用程序,则使用remote_user似乎更安全。也许其他人可以评论,因为我没有花时间深入调查,所以我不完全理解代码。
答案 1 :(得分:3)
REMOTE_USER和AUTH_USER在AdobeCF / IIS中是相同的,但不在AdobeCF / Apache上。使用AdobeCF / Apache时,AUTH_USER将为空。
因此最好使用REMOTE_USER变量进行编码。如果您发现自己正在处理在Apache中引用AUTH_USER的代码,那么有一种方法可以使用mod_rewrite使Apache填充该变量。这将导致Apache将REMOTE_USER复制到AUTH_USER:
RewriteEngine on RewriteCond%{REMOTE_USER}(。) RewriteRule。 - [E = AUTH_USER:%1]
此处有更多信息:http://www.stillnetstudios.com/copying-env-variables-in-apache/
答案 2 :(得分:2)
我很确定REMOTE_USER是标准的CGI变量。
根据这个页面,它们是相同的: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/Expressions5.htm
答案 3 :(得分:2)
安全方面坚持使用REMOTE_USER,因为它是CGI / 1.0规范中定义的那个(在这里找到http://www.ietf.org/rfc/rfc3875)
AUTH_USER似乎随着时间的推移而悄悄话
答案 4 :(得分:1)
根据我的经验,CGI变量在Web服务器(Apache,IIS,JRun等)之间,甚至在它们的版本之间往往不同。在基于CGI变量的基础上,唯一可靠的选择是检查开发,阶段,生产(等)服务器上显示的值。