2009-03-03 10 views

risposta

7

Io uso cflogin tutto il tempo e funziona benissimo. Può essere un po 'complicato lavorare come preferisci, ma i benefici sono enormi. Essere in grado di mettere a punto l'applicazione con i ruoli utente si prende cura della maggior parte della personalizzazione basata sui diritti. Ci sono stati alcuni problemi con la gestione delle sessioni che ha reso difficile lavorare con. L'attivazione delle sessioni di j2ee sembra far scomparire la maggior parte di questi problemi.

Alcuni dei framework popolari non sono compatibili con cflogin, quindi questa potrebbe essere una delle ragioni per cui non la si vede molto. Tendono ad avere il proprio approccio per proteggere le funzionalità dell'applicazione.

Penso che molte persone si sentano frustrate perché è un po 'bizzarro e ci rinunciano. Altri hanno esigenze di sicurezza più complesse che non vengono affrontate completamente da cflogin, quindi finiscono per scrivere il proprio sistema. Nello specifico, non esiste un modo semplice per gestire i diritti per asset di contenuto.

+0

Quali sono i "problemi con la gestione della sessione"? Ti ricordi? – Henry

+0

I problemi che ricordo vagamente erano che chiudere tutti i tuoi browser non avrebbe interrotto l'autenticazione se non avessi usato le sessioni j2ee e quello su siti di grandi volumi (ancora, senza sessioni j2ee), le credenziali di accesso potevano essere dirottate quando un cfid era riutilizzato. – anopres

2

L'unico problema che ho riscontrato riguarda i ruoli in CF8. È implementato brillantemente e un po 'crudele che non funziona come dovrebbe. Forse in CF9.

In ogni caso, creare il proprio sistema basato sui ruoli (assegnare all'utente una variabile di sessione con un elenco separato da virgole di livelli di accesso che il sistema può verificare) non è troppo difficile da fare e l'ho superato.

L'unica cosa bella di cfLogin che probabilmente è ancora la pena di utilizzo è come si collega al monitor del server per vedere quante persone sono loggato, ecc

Il punto sopra sull'utilizzo del jsession è vero, è vale la pena fare in tutte le app cf. Una delle cose migliori che ho trascinato per lavorare come volevo.

+0

Non riesco a farlo funzionare con autenticazione NTLM * affatto * (su CF7 comunque). FWIW, semplicemente non funziona nel modo in cui è pubblicizzato. Di solito faccio finta di funzionare correttamente, perché voglio usare la sicurezza basata sui ruoli, ma il tag stesso è semplicemente rotto. – Tomalak

0

Nel mio caso (supponiamo anche per alcune altre persone) il motivo principale si sta spostando da un'altra piattaforma, ad esempio PHP. Voglio dire che ho già avuto alcune conoscenze e abitudini nello sviluppo ACL e iniziato a usarli in CF.

So come renderlo utile per l'utente, flessibile per sviluppatore e sicuro e non è necessario passare a cflogin.

A volte lo stesso accade con altre cose, ad esempio nella maggior parte dei casi preferisco implementare la validazione lato client usando il proprio JS invece di usare cfform/cfinput.

1

CFLogin non viene utilizzato per 3 motivi.

primo, è un po 'permaloso, un po' strano, e non funziona quanti potrebbe pensare. Metti un po 'di codice qui, e se un utente non è loggato lo esegue ... è solo strano, sai? Non è stato d'aiuto il fatto che ci fossero alcuni bug all'inizio.

Secondo, mentre ha le funzionalità di sicurezza di base necessarie per un'applicazione Web, non va oltre. Non puoi davvero estenderlo facilmente. Chi dice che è così che tutti lo vogliono?

Terzo e, più realisticamente, è perché le persone hanno già risolto il problema.L'area problematica di protezione di un'applicazione, autenticazione e autorizzazione è stata pensata nella comunità abbastanza a lungo e molte persone sanno come farlo. CFLogin sta reinventando la porta. È troppo poco, troppo tardi.

Ora, questo non vuol dire che nessuno lo usi. Personalmente l'ho usato poche volte con un successo di base, ma non ho motivo di suonare un campanello. Per la maggior parte delle mie applicazioni, ha più senso non utilizzare CFLogin. I domini del problema sono in questo o in altri, e CFLogin non risolve sempre nel modo più intelligente.

2

Ricorda che CFLOGIN ha un problema con l'autenticazione HTTP di base in cui può continuare a inviare il suo ID utente e la password anche dopo aver chiamato CFLOGOUT.

So che questo ha allontanato alcuni utenti avanzati.

Ecco un estratto da LiveDocs

Attenzione: se si utilizza server di autenticazione basata su web o qualsiasi forma di autenticazione che utilizza un HTTP intestazione di base di autorizzazione, il browser continua a inviare l'autenticazione informazioni per la tua applicazione fino l'utente chiude il browser, o in alcuni casi, tutte le finestre del browser aperte. Di conseguenza, dopo che l'utente si disconnette e l'applicazione utilizza il tag cflogout , fino a quando il browser si chiude, la struttura cflogin nel tag cflogin conterrà UserID dell'utente loggato-out e la password. Se un utente registra e non chiude il browser, un altro utente può accedere alle pagine con il primo accesso dell'utente.

+3

Appena realizzato, questo non è colpa di CFLOGIN. Questo è un problema comune con l'autenticazione di base HTTP, lo stackoverflow della ricerca – Henry

Problemi correlati