Newsgroup: it.comp.www.php
Titolo: Consiglio su gestione utenti

Salve a tutti,
per l'ennesima volta mi trovo a dover sviluppare una applicazione che 
necessita della sua parte di gestione utenti (operazioni CRUD equindi 
autenticazion etc...).
 
Benchè abbia già sviluppato più volte questa parte, ogni volta partendo 
da esperienze passate e cercando di migliorarla, sto googlando in giro 
per vedere se esistono soluzioni affidabili, già testate che mi diano 
sicurezza e che mi evitino, ogni volta, di ripartire e reinventare la ruota.
 
Avete esperienze in merito e/o sapete consigliarmi qualcosa?
 
Grazie mille.

 ha scritto:

Ma scusa dato che hai detto che hai già sviluppato più volte questa parte,
cosa ha che non va nel non poterla riutilizzare?
 
 

Ne ho sviluppate due o tre ma non sono soddisfatto del risultato,
se dovessi farlo da me lo rifarei, per la quarta volta, ripartendo quasi 
da zero e quindi prima di farlo... volevo capire se c'era già qualche 
tool, magari fatto bene, da poter usare e risparmiare un pò di tempo/lavoro.
 
Tutto qui.


 tool, magari fatto bene, da poter usare e risparmiare un pò di tempo/lavoro.
 
Non ho nessuna soluzione pronta, però l'argomento è interessante perché 
bene o male ci impegna tutti, in cosa non ti soddisfano le tue 
precedenti implementazioni?

Si, infatti ho chiesto nel gruppo perchè ho pensato che più o meno è un 
aspetto che chi sviluppa web app si è trovato ad affrontare almeno una 
volta.
 
Nello specifico le soluzioni che ho adottato non mi soddisfano per una 
serie di motivi prime tra tutte: la sicurezza, la fase di autenticazione 
ed il modo di interfacciarsi al db.
 
Ognuno di questi aspetti ha dei punti specifici che, rileggendo il 
codice, modificherei sicuramente.
 
Ti faccio un esempio calzante.
L'intertacciamento al db è proprio il concetto che mi ha portato alla 
richiesta: se dovessi riscriverlo ora da zero lo farei usando PDO (in 
passato, anche per via di una minore esperienza sono passato da chiamate 
procedurali, ad un classe di connessione db creata per l'occasione.... e 
oggi passerei a PDO).
 
Non è che non si fa è che, come hai scritto tu, trattandosi di un 
argomento che sicuramente in molti hanno affrontato mi sono detto che 
forse è inutile reinventare nuovamente la ruota... tutto qui.


 Avete esperienze in merito e/o sapete consigliarmi qualcosa?
 
Laravel é un ottimo framework *anche* per fare questo. Ha una learning
curve non troppo impennata, ti aiuta a scrivere del buon codice, e se
hai voglia di sbatterci un po' la testa ci puoi fare davvero di tutto.
 
 
-- 
g4b0, linux user n. 369000
http://brosulo.net
 

Ciao, grazie per la risposta.
In effetti mi stavo anche chiedendo se passare "completamente" ad un 
framework o meno.
 
Ho dedicato qualche mese a Symfony ma poi dovendo produrre e non essendo 
molto sicuro in merito l'ho accontonto.


 framework o meno.
 
Al giorno d'oggi IMHO é quasi un must, salvo casi particolarissimi.
Laravel é un ottimo framework, ho usato anche con soddisfazione Silex
che é un microframework (utile alternativa a mio avviso se non hai
bisogno di interagire con un DB). Se poi ti serve un CMS butta un occhio
su SilverStripe, secondo me é il top di gamma del settore, anche se poco
diffuso.
 
Con questi tre strumenti quando devo partire con un progetto la prima
valutazione che faccio é: framework, microframework o CMS? In realtá ora
ho inserito nel mio toolbox anche nodejs, ma qui siamo OT :D


 autenticazion etc...).
 
Innanzitutto ti consiglio di distinguere l'autenticazione 
dall'autorizzazione.
 
Per l'autenticazione puoi usare OAuth2. Ci sono diversi componenti 
installabili con composer, in giro, per esempio questo:
 
https://github.com/thephpleague/oauth2-server
 
 
OAuth e` una brutta bestia, e dovresti studiarti come funziona, ma puoi 
partire con client credentials grant e usare il token come sesion 
cookie. Non e` il massimo della sicurezza, ma hai qualcosa di gia` 
implementato.
 
Per l'autorizzazione dipende da come la vuoi modellare. OAuth ha qualche 
capacita` di autorizzazione, ma e` abbastanza limitato in certi campi.
 
Questa parte la puoi reimplementare in base alle tue esigenze, o usare 
qualcosa di gia` pronto per fare ACL, per esempio.
 
Bye.
 
 

 forse è inutile reinventare nuovamente la ruota... tutto qui.
 
Cmq tutti sono dovuti passare (o stanno passando) a PDO, quindi una riscrittura
di qualcosa c'è, giocoforza, sempre.
 
 

Grazie a tutti per le risposte, approfondirò i vostri suggerimenti e 
vedo cosa ne esce.
 
Grazie ancora.