Domanda

Sto seriamente pensando di allontanarmi da CfLogin CF8 perché è legato al server che ha generato l'accesso. In un ambiente bilanciato del carico sei bloccato con sessioni appiccicose se non fai un'implementazione personalizzata.

Qualcuno ha qualche fonte che imita cfLogin che scrive ed è gestito dall'ambito del cliente? Forse anche un design che corrisponde bene a una rinominato sostituzione su isuserin [qualsiasi] ruolo.

A cosa dovrei pensare quando considero scrivere un'implementazione sostitutiva per CFLogin?

È stato utile?

Soluzione

Ecco un non di base cflogin Approccio utilizzando variabili memorizzate nell'ambito del client. Usiamo un approccio simile per sessioni non appiccicose attraverso il cluster del nostro server dietro il nostro bilanciamento del carico.

Questo codice dovrebbe vivere Application.cfc -> onRequestStart() metodo:

<!--- 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>

C'è roba da ruolo dell'utente, ma spero che questo aiuti come punto di partenza.

Altri suggerimenti

Ho personalizzato la procedura guidata di accesso CF tramite Dreamweaver per essere portatile e utilizzare una tabella DB per l'autenticazione e la gestione dei ruoli. Per questo motivo, posso usarlo come accesso a un utente singolo o di accesso a più account. Non ho mai usato cflogin e non ne ho avuto bisogno. Lascio solo cadere i file nella directory, personalizzare le credenziali di accesso, e questo è tutto. Funziona perfettamente ogni volta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top