Есть ли способ выборочно включить сеанс в Coldfusion? - PullRequest
1 голос
/ 03 декабря 2009

Есть ли способ в Coldfusion выборочно включить сеанс пользователя? Мне не нужно отслеживать всех пользователей, которые посещают мой сайт, только пользователей, которые вошли в систему. Есть ли способ активировать сеанс пользователя только после процесса входа в систему?

(У меня такое чувство, что ответ - нет, но я подумал, что я спрошу, поскольку у некоторых из вас может быть больше опыта с пользовательскими сеансами.)

Ответы [ 4 ]

3 голосов
/ 03 декабря 2009

Если вы включите сеансы, вы получите их для каждого пользователя. Ничто не говорит, что вам нужно использовать переменные сессии, как бы то ни было. Будут созданы только самые основные данные (например, токен сеанса).

1 голос
/ 07 декабря 2009

Один из обходных путей - просто быстро отбросить сеансы тех, кто не вошел в систему. Это не уменьшает накладные расходы на создание новых сеансов, если это тяжело в вашем приложении, но экономит память с течением времени. Я делаю это в нескольких больших приложениях, чтобы не держать сессии для пауков и тому подобное. Вы можете использовать этот вариант для быстрого истечения срока действия незарегистрированных посетителей.

В верхней части вашего Application.cfc:

<!--- save memory by expiring non-user sessions quickly --->
<cfif structKeyExists(cookie, "CFID")>
    <!--- 7 days for normal users --->
    <cfset THIS.sessionTimeOut = CreateTimeSpan(7, 0, 0, 0) />
<cfelse>
    <!--- 30 sec short session for agents like bots that do not accept cookies --->
    <cfset THIS.sessionTimeOut = CreateTimeSpan(0, 0, 0, 30) />
</cfif>

Я не помню, от кого я получил эту идею, поэтому не могу правильно ее назвать.

1 голос
/ 04 декабря 2009

Вы можете добавить Application.cfc в / member и включить там управление сеансом.

Затем для страниц, которые требуют сеанса, поместите в /memeber.

0 голосов
/ 07 декабря 2009

Почему вы не хотите отслеживать не вошедших в систему пользователей? Просто не нужно? Сохранить память? и т.д.

Как сказал Ал, сессия по умолчанию довольно легкая. Вы можете настроить свою бизнес-логику так, чтобы она отслеживала только такие вещи, как предпочтения или корзину покупок, в сеансе после того, как они вошли в систему - они будут просто неопределенными или пустыми строками, если они не вошли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...