Разница между переменными AUTH_USER и REMOTE_USER cgi - PullRequest
4 голосов
/ 12 мая 2009

В документах не совсем ясно, есть ли разница между этими переменными? В IIS, по крайней мере, они кажутся идентичными, но я не хочу полагаться на это, если они могут отличаться на других серверах.

Ответы [ 5 ]

7 голосов
/ 12 мая 2009

Согласно документации Adobe ColdFusion они одинаковы.

http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Expressions_8.html

Глядя на исходный код openbd, remote_user и auth_user отображаются на один и тот же ключ, поэтому он возвращает одно и то же значение.

Глядя на исходный код Railo, я не совсем понимаю, что происходит, но похоже, что он настраивает remote_user, и я не уверен, установлен ли где-нибудь auth_user.

Если вы разрабатываете приложение, совместимое с coldfusion, railo и openbd, то безопаснее использовать remote_user. Может быть, кто-то другой может прокомментировать, потому что я не до конца понимаю код, не потратив время на глубокое расследование.

3 голосов
/ 10 января 2010

REMOTE_USER и AUTH_USER будут одинаковыми в AdobeCF / IIS, но не в AdobeCF / Apache. AUTH_USER будет пустым при использовании AdobeCF / Apache.

Так что лучше всего кодировать, используя переменную REMOTE_USER. Если вы обнаружите, что работаете над кодом, который ссылается на AUTH_USER в Apache, есть способ заставить Apache заполнить эту переменную с помощью mod_rewrite. Это заставит Apache скопировать REMOTE_USER в AUTH_USER:

Перезаписать двигатель на RewriteCond% {REMOTE_USER} (. ) RewriteRule. - [E = AUTH_USER:% 1]

Более подробная информация здесь: http://www.stillnetstudios.com/copying-env-variables-in-apache/

2 голосов
/ 16 мая 2009

, чтобы быть на безопасной стороне REMOTE_USER, как это определено в спецификации CGI / 1.0 (найдено здесь http://www.ietf.org/rfc/rfc3875)

AUTH_USER, похоже, со временем пробрался

2 голосов
/ 12 мая 2009

Я вполне уверен, что REMOTE_USER является стандартной переменной CGI.

Согласно этой странице они одинаковы: http://livedocs.adobe.com/coldfusion/6/CFML_Reference/Expressions5.htm

1 голос
/ 12 мая 2009

По моему опыту, переменные CGI имеют тенденцию различаться между веб-серверами (Apache, IIS, JRun и т. Д.) И даже между их версиями. Единственная надежная ставка, когда что-то основывается на переменной CGI, это проверить, какие значения отображаются на ваших серверах dev, stage, production (и т. Д.).

...