Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Tylko jeden użytkownik może zalogować się na swoje konto.
darko
post
Post #1





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam!
Szukam, szukam i nic... Chciałbym dowiedzieć się, w jaki sposób można rozwiązać problem jednoczesnego logowania się na konto użytkownika X przez dwie różne osoby z dwóch różnych komputerów bez konieczności rejestrowania historii logowań. Chodzi o wyeliminowanie potencjalnych sytuacji, kiedy dwóch adminów posiadających jedno konto administratora loguje się w mniej więcej tym samym czasie i jeden wykonuje jakieś operacje w systemie i drugi, mieszając kompletnie w bazie. Nie wiem, jak zrobić, że w sytuacji, kiedy jest już zalogowany jeden admin - jeśli nastąpi próba zalogowania się drugiego (na to samo konto) - logowanie zostanie odrzucone. Jakieś pomysły? Pozdrawiam.
ps. mój mechanizm logowania wykorzystuje Zend_Auth i Zend_Acl.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
pedro84
post
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

Ostrzeżenie: (0%)
-----


Możesz na przykład dodać pole w tabeli użytkowników, taką blokadę, podczas logowania dodajesz odpowiednią wartość, podczas każdego logowania sprawdzasz, jeśli zwraca wartość (np. 1) wtedy nie logujesz. Oczywiście, przy wylogowaniu możesz zmieniać wartość.
Fakt, głupie rozwiązanie :/

PS. Dwóch adminów nie powinno mieć tego samego konta.

A nie mogłbyś utworzyć rozwiązania podobnego jak w vBulletin'ie?

@down: Sorry za wprowadzenie w błąd.

Ten post edytował pedro84 17.06.2010, 10:06:43
Go to the top of the page
+Quote Post
darko
post
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(pedro84 @ 17.06.2010, 10:54:35 ) *
Możesz na przykład dodać pole w tabeli użytkowników, taką blokadę, podczas logowania dodajesz odpowiednią wartość, podczas każdego logowania sprawdzasz, jeśli zwraca wartość (np. 1) wtedy nie logujesz. Oczywiście, przy wylogowaniu możesz zmieniać wartość.

PS. Dwóch adminów nie powinno mieć tego samego konta.

To rozwiązanie nie uwzględnia sytuacji, w których użytkownik się nie wylogował tylko zamknął kartę lub przeglądarkę. Wtedy w ogóle nie będzie mógł się zalogować na to konto, dopóki sesja/ciastko nie wygaśnie. Co wtedy? Wiem, że dwóch adminów nie powinno mieć tego samego konta, ale to nie mój wymysł : - /
Go to the top of the page
+Quote Post
zend
post
Post #4





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

Ostrzeżenie: (0%)
-----


Rozwiązanie jest proste, sesje zapisujesz w bazie sess_id | data | modyfikacja | id_użytkownika (jeśli istnieje), przy logowaniu sprawdzasz czy w tabeli z sesjami istnieje id użytkownika. Zdaje się że będziesz musiał nadpisać adapter do Zend_Auth, ale to już nie powinno stanowić problemu.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:11