Это раздражительно. Я работаю разработчиком ColdFusion уже 13 лет, и у меня никогда не было причин использовать управление клиентами вместо управления сеансами. В любом случае, я настроил базу данных и источник данных в CFAdmin, а затем выбрал этот источник данных в качестве механизма хранения по умолчанию для клиентских сеансов.
Затем я просмотрел весь свой код и глобально заменил все мои области сеанса областью клиентов.
Верхняя часть моего application.cfm выглядит так:
<CFAPPLICATION
NAME="blah"
SESSIONMANAGEMENT="No"
SESSIONTIMEOUT=#CreateTimeSpan(0,2,0,0)#
CLIENTMANAGEMENT="Yes"
CLIENTSTORAGE="sys_blah"
>
В моем application.cfm я ранее установил несколько глобальных переменных, связанных с аутентификацией сеанса, т.е.
<cfparam name="session.user.authenticated" default="0">
<cfparam name="session.user.id" default="">
Однако теперь, когда они записываются как
<cfparam name="client.user.authenticated" default="0">
<cfparam name="client.user.id" default="">
Я получаю сообщение об ошибке:
Элемент USER не определен в CLIENT.
Что я могу делать неправильно?
Я вижу, как переменные клиента входят в только что созданную базу данных. я на CF12
<cfdump var="#client#'>
поможет вам начать работу. Ваше смущение оправдано тем, что вы не знали этого спустя 13 лет. - person Dan Bracuk   schedule 06.05.2016user.id
, а не структуру с именемuser
с ключом с именемid
. Конечно, это возвращает нас к первому пункту Дэна, с которым я действительно согласен :) Вы должны использоватьcfdump
, чтобы подтвердить или опровергнуть эту теорию. - person Leigh   schedule 06.05.2016