Вы можете сделать это, передав правильные значения в URL, более подробная информация доступна здесь
http://ruthsarian.wordpress.com/2005/10/03/cf-session-hijacking/
ColdFusion использует два уникальных значения для отслеживания информации о сеансе пользователя,Эти значения являются CFID и CFTOKEN.Они хранятся в виде файлов cookie, но также могут передаваться по URL-адресу и внутри данных POST.
Переменные сеанса - это место для хранения информации, специфичной для пользователя и для текущего сеанса (например, является ли пользовательвошел в систему).
Можно перехватить сеанс пользователя, указав правильные значения CFID и CFTOKEN на сервере, либо по URL-адресу, либо в любом другом месте.
То, что вы пытаетесь сделать, эффективно описывается в этом посте http://old.nabble.com/ColdFusion-9-Session-Replication-td32621620.html, в котором содержится рекомендация против репликации сеансов по причине высокой загруженности сети из-за этого.
Где вы пытаетесь поддерживать определенныйобъем сеансов на нескольких физических серверах.В прошлом я работал над этим, чтобы поддерживать базу данных, хранящую информацию, которая должна передаваться между физическими серверами, привязанными к UUID.Для этого вы можете просто использовать значения CFID / CFTOKEN в качестве PK вашей базы данных, или вы можете сделать еще один PK в целом.Затем это позволит вам передать CFID и т. Д. В строке URL, а затем, если он попадет на сервер, который до сих пор не попал (т. Е. Сессия / сеанс не были загружены с использованием этих CFID / CFTOKEN), вы можете загрузитьпеременные, которые вам нужны из базы данных.
Редактировать альтернативный метод, не связанный с базой данных
Сначала настройте скрипт на одном сервере, т.е. getSessionData.cfm, который возвращает данные вобласть сеанса в переносимом формате, т.е. с помощью SaveObject () (если на CF9) или, возможно, SerializeJSON (), что-то в этом роде
<!--- on source server, getSessionData.cfm --->
<cfscript>
WriteOutput(ToBase64(ObjectSave(session)));
</cfscript>
Затем настройте обработчик, который будет запрашивать данные с другого сервера, используяЗапрос cfhttp, заполняющий CFID / CFTOKEN для доступа к сеансу, а затем извлекает эти данные в сеанс на новом сервере.
<!--- on target server --->
<cfhttp url="http://sourceserver/getSessionData.cfm">
<!--- Params to pass through CFID/CFTOKEN or any other cookie/url/post params etc --->
</cfhttp>
<cfscript>
structToImportToSession = ObjectLoad(ToBinary(cfhttp.FileContent));
for (thisStructKey in structToImportToSession) {
session[thisStructKey] = structToImportToSession[thisStructKey];
}
</cfscript>
Проблема в том, что я чувствую себя неловко из-за того, что скрипт такого типа включенмой сервер в производственной среде.Это также означает, что вам нужно будет точно знать, с какого физического сервера пришел пользователь, чтобы вы могли запросить скрипт getSessionData.cfm с нужного сервера.
В этом посте Бена Наделя, похоже, используется аналогичный принцип для обновления данных сеанса, и его можно применить для его обновления, я ожидаю, http://www.bennadel.com/blog/725-Maintaining-Sessions-Across-Multiple-ColdFusion-CFHttp-Requests.htm
Лично я бы все же посоветовал базу данных.Метод Drive, так как он дает вам более четкую механику для очистки старых сессий и т. д., однако этот второй вариант должен быть жизнеспособным и дать вам доступ к тому, что вам нужно.