Conectați-vă o singură dată la diferite proiecte folosind laravel

Folosesc cadrul laravel 4 în dezvoltarea web a proiectelor mele. Am 5 aplicații diferite (blog, management școlar, ziar .... ). Aceste aplicații au o logică separată, așa că, evident, ar trebui să fie separate în proiecte diferite, fiecare având baza sa de date.

Problema este

Aceste aplicații partajează unii dintre utilizatori între ei.

Detalii:

În cazul meu, dacă un utilizator dorește să intre în oricare dintre aplicații, ar trebui să se autentifice mai întâi. ceea ce înseamnă că trebuie să se autentifice de 5 ori dacă dorește să viziteze cele 5 aplicații.

Așadar, ceea ce vreau pentru utilizatori este să se conecteze doar o dată în oricare dintre cele 5 aplicații și astfel utilizatorul să poată sări de la o aplicație la alta fără a se conecta.

Notă: aplicațiile se află pe același server și domeniu

Mă gândesc la împărțirea sesiunii între proiecte. Este acesta un mod posibil sau corect de a face sarcina?

Dacă da, cum se poate face acest lucru în Laravel?

Dacă nu. Cum poate fi rezolvată o astfel de sarcină și în laravel?


person ddl    schedule 30.03.2014    source sursă
comment
Puteți împărtăși câteva informații despre configurare? Este ceva care va rula pe un singur server, va rula pe un domeniu etc?   -  person Bram    schedule 30.03.2014
comment
da, va rula pe același server și domeniu.   -  person ddl    schedule 31.03.2014
comment
dacă aș fi în locul tău, aș încerca să folosesc o aplicație (este același server și același domeniu) și 5 șabloane de layout diferite.   -  person clod986    schedule 31.03.2014
comment
Ce te referi prin șabloane de aspect? Dacă te referi la UI. Am 5 aplicații diferite (blog, management școlar, ziar .... ). aceste aplicații au o logică separată, așa că, evident, ar trebui să fie separate în proiecte diferite. Dar au aceiași utilizatori   -  person ddl    schedule 01.04.2014


Răspunsuri (1)


Acestea sunt trei opțiuni pe care le aveți și sfatul meu despre care să alegeți:

1. Utilizați o singură aplicație și includeți toată logica Puteți crea diferite biblioteci/module pentru logica aplicației diferitelor elemente din biblioteca dvs. de cod. Aceasta este de departe cea mai ușoară soluție.

2. Utilizați mai multe aplicații, dar partajați sesiuniPartajarea sesiunilor între aplicații este o altă opțiune. S-ar putea să nu fie o soluție complet sigură/stabilă, dar cu siguranță o puteți face să funcționeze și cu siguranță este mult mai puțină muncă decât opțiunea 3.

3. Folosiți mai multe aplicații cu o soluție de conectare/conectare unică precum OAuth 2Cea mai dificilă soluție, dar una foarte frumoasă, ar fi să configurați un server OAuth 2 și să implementați OAuth 2 (client) în fiecare dintre aplicații . Toți băieții mari (Google, Yahoo, Facebook) implementează acest sistem și este foarte flexibil, stabil și sigur.

În situația dvs., aș opta pentru opțiunea 1, pentru că doriți să rulați ceva pe un singur domeniu.

person Bram    schedule 01.04.2014