![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław 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ść. 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ł : - / |
|
|
![]()
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.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:11 |