Il linguaggio di programmazione PHP
 

Consiglio su gestione utenti

NoS 5 Mar 2017 11:26
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.
ciccio 5 Mar 2017 17:23
NoS <NoS@nospam.no> ha scritto:

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

Ma scusa dato che hai detto che hai già sviluppato più volte questa parte,
cosa ha che non va nel non poterla riutilizzare?
NoS 5 Mar 2017 17:40
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.

Il 05/03/2017 17.23, ciccio ha scritto:
> NoS <NoS@nospam.no> ha scritto:
>
>> 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?
>
> Ma scusa dato che hai detto che hai già sviluppato più volte questa parte,
> cosa ha che non va nel non poterla riutilizzare?
>
>
fmigliori 5 Mar 2017 22:48
Il giorno domenica 5 marzo 2017 17:40:10 UTC+1, NoS ha scritto:
> 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.

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?
NoS 6 Mar 2017 07:44
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.


Il 05/03/2017 22.48, fmigliori ha scritto:
> Il giorno domenica 5 marzo 2017 17:40:10 UTC+1, NoS ha scritto:
>> 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.
>
> 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?
>
g4b0 6 Mar 2017 09:27
On 05/03/2017 11:26, NoS wrote:
> 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...).

> 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
NoS 6 Mar 2017 09:34
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.


Il 06/03/2017 09.27, g4b0 ha scritto:
> On 05/03/2017 11:26, NoS wrote:
>> 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...).
>
>> 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 6 Mar 2017 10:14
On 06/03/2017 09:34, NoS wrote:
> Ciao, grazie per la risposta.
> In effetti mi stavo anche chiedendo se passare "completamente" ad un
> 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

--
g4b0, linux user n. 369000
http://brosulo.net
Alessandro Pellizzari 6 Mar 2017 13:21
On 05/03/17 10:26, NoS wrote:

> per l'ennesima volta mi trovo a dover sviluppare una applicazione che
> necessita della sua parte di gestione utenti (operazioni CRUD equindi
> 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.
ciccio 6 Mar 2017 17:33
NoS <NoS@nospam.no> ha scritto:

> 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).

Passare a PDO non richiede molto impegno se si è progettata bene
l'applicazione da prima. Per esempio, per passare la mia classe
di interfacciamento al DBMS a PDO, ci avrò impiegato massimo un 1/4
d'ora.

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

Cmq tutti sono dovuti passare (o stanno passando) a PDO, quindi una riscrittura
di qualcosa c'è, giocoforza, sempre.
NoS 7 Mar 2017 08:36
Grazie a tutti per le risposte, approfondirò i vostri suggerimenti e
vedo cosa ne esce.

Grazie ancora.

Links
Giochi online
Dizionario sinonimi
Leggi e codici
Ricette
Testi
Webmatica
Hosting gratis
   
 

Il linguaggio di programmazione PHP | Tutti i gruppi | it.comp.www.php | Notizie e discussioni php | Php Mobile | Servizio di consultazione news.