Rejestracja, logowanie do serwisu, SOAP

0

Witam,
czy jest to zgodne z dobrymi praktykami, albo czy w ogóle jest to do zrealizowania wykonanie logowania i rejestracji użytkowników do portalu używając SOAP? Mam na myśli coś takiego, że piszę sobie SOAP serwer z funkcjami np. : logowanie($login, $pass), rejestracja($login, $pass) i wywołuje je z poziomu SOAP klienta ? Jeżeli nie to jakie są dobre praktyki zrealizowania takiej funkcjonalności(logowania, rejestracji) ?

0

Na pierwszy rzut oka pomysł z SOAPem wydaje się mocno nadmiarowy. SOAP jest dobry do budowania dużego API dla dużej aplikacji.

Uwierzytelnianie (logowanie do serwisu) najczęściej realizuje się najprostszą dostępną metodą, czyli po odebraniu po stronie serwera loginu i hasła tworzona jest sesja dla zalogowanego użytkownika i następnie wykonywane jest przekierowanie do odpowiedniej strony (tej, którą należy wyświetlić użytkownikowi po zalogowaniu).

Powiedz coś więcej jakiego rodzaju aplikację budujesz? Być może w Twoim przypadku dobrze się sprawdzi jeszcze coś innego (logowanie przez AJAX, może REST API)?

[Adam]

0

Dzięki za odpowiedź. To będzie jakaś prosta aplikacja żeby ogarnąć trochę PHP, jakiś dostęp do bazy danych i przy okazji coś z WebService liznąć. Chciałem stworzyć coś w stylu: użytkownik wchodzi na stronę, może się zalogować jak nie ma konta może je sobie stworzyć. Po wejściu do serwisu jakaś funkcjonalność typu książka kontaktów, czyli dodawanie do bazy danych nowych, usuwanie itp. Jakbyś mógł mi zarysować jak taka aplikacja powinna wyglądać ?

0

Jak na aplikację na początek przygody z PHP to myślę, że fajnym pomysłem jest stworzenie swojego mikro-frameworka.

Myślę, też, że dobrze byłoby gdybyś się najpierw (z grubsza) zapoznał z architekturą istniejących frameworków (Symfony, Yii, Laravel) - zobaczysz jak to "się robi". Zakładam też, że masz jako takie pojęcie o programowaniu obiektowym.

Architektura Twojego frameworka mogłaby się opierać o jakąś fasadę (FrontController), której zadaniem byłoby odebranie żądania od przeglądarki i uruchomienie odpowiedniego modułu. Przyda się pewnie kilka klas, np.: klasa reprezentująca samo żądanie, klasa zajmująca się samym uruchomieniem odpowiedniego modułu, jakaś klasa przechowująca konfigurację, klasa zestawiająca połączenie z bazą danych (te klasy byłyby wykorzystywane właśnie przez FrontController).
Jako moduł można by potraktować zestaw powiązanych ze sobą kontrolerów (prawdopodobnie dobrym pomysłem byłoby trzymanie ich w osobnym katalogu - coś jak Bundle w Symfony). Moduł mógłby mieć swoje szablony dla widoku (myślę, że nie ma sensu wykorzystywać żadnych systemów szablonów typu Twig/Smarty - wystarczy stworzyć własny szablon w oparciu o PHP).
Miałbyś moduł logowania, rejestracji użytkownika, jakiś panel użytkownika (po zalogowaniu), ta książka kontaktów, jakiś osobny moduł dla WebService'a.

Później następnym naturalnym krokiem byłoby zbudowanie aplikacji w oparciu o któryś z nich.

Temat jest dosyć trudny do opisania w pojedynczym poście, zatem jeśli coś napisałem niejasno to chętnie rozwinę temat :)

[Adam]

1 użytkowników online, w tym zalogowanych: 0, gości: 1