Вопрос

Я серьезно учитываю откидывающуюся от CF8 Cflogin, потому что он привязан к серверу, который породил логин. В нагрузке сбалансированная среда вы застряли с липкими сессиями, если вы не выполняете пользовательскую реализацию.

У кого-нибудь есть какой-либо источник, который имитирует CLOGIN, который пишет и управляется с помощью клиента? Может быть, даже дизайн, который хорошо сочетается с переименом, замените на изобинин [любую] роль.

Что я должен думать о том, когда я считаю, что писать реализацию замены для Cflogin?

Это было полезно?

Решение

Вот основной не cflogin Подход с использованием переменных, хранящихся в Client Case. Мы используем аналогичный подход для неклиплых сеансов на нашем кластере серверов за нашей балансировщиком нагрузки.

Этот код должен жить в Application.cfc -> onRequestStart() Метод:

<!--- handle login *post* --->
<cfif structKeyExists(FORM, "pageaction") and FORM.pageAction eq "adminlogin">

<!--- attempt to log user in --->

    <cfif loginSuccessful>

        <!--- Set client variables for session management --->
        <cfset CLIENT.lastHit = now() />
        <cfset CLIENT.loggedIn = 1 />

        <!--- redirect to home page --->

    <cfelse>

        <!--- redirect to login page with message --->

    </cfif>

<!--- all other requests, except for the login page --->
<cfelseif structKeyExists(CLIENT, "lasthit") and structKeyExists(COOKIE, "cfid") and structKeyExists(CLIENT, "cfid") and listLast(CGI.SCRIPT_NAME, "/") neq "login.cfm">    

    <!--- Check for timeout --->
    <cfif (datediff("n", CLIENT.lastHit, now()) lte 10) and (CLIENT.loggedIn is 1) and (CLIENT.cfid is COOKIE.cfid)>

        <!--- record last hit --->
        <cfset CLIENT.lastHit = now() />

    <cfelse>

        <!--- timeout! redirect to login page --->
        <cflocation URL="http://mydomain/login.cfm" addtoken="false" /> 

    </cfif> 

</cfif>

Есть роль пользователей, но я надеюсь, что это поможет в качестве отправной точки.

Другие советы

Я настроил мастер входа в систему CF через Dreamweaver, чтобы быть портативным и использовать таблицу БД для аутентификации и управления роли. Из-за этого я могу использовать его в качестве однопользовательского входа, либо в логинах нескольких учетных записей. Я никогда не использовал Clogin и не нужно было. Я просто бросаю файлы в каталог, настройте учетные данные входа, и именно это. Работает идеально каждый раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top