Możliwość zalogowania się jednoczesnie tylko jednej osoby na dane kont

Witam,

Chciałbym aby ten sam użytkownik nie mógł się zalogować z innego komputera w tym samym czasie. W sytuacji gdy jestem zalogowany na stronie i w tym samym czasie ktoś inny będzie chciał się zalogować na to samo konto. To dostanie stosowny komunikat. Czy takie rozwiązanie jest w ogóle możliwe ?

Zastanawiam się by sprawdzić gdzieś na dysku na serwerze, czy istnieje plik z sesją (gdyż w momencie zniszczenia sesji, lub zamknięcia przeglądarki) plik zostaje usunięty i tym samym wiemy że ktoś nie korzysta z danego konto i śmiało można się na nie zalogować.

trochę z innej strony ale może naprowadzi. W authlogick by wylogować osobę gdy ktoś inny próbuje się zalogować na jej konto:

[code=ruby]class UserSession < Authlogic::Session::Base
before_destroy :reset_persistence_token
before_create :reset_persistence_token

def reset_persistence_token
    record.reset_persistence_token
end 

end[/code]
Z sieci. Ale wygląda sensownie.

Tutaj nie ma to działać w taki sposób że jak się loguje ktoś inny na to konto, to ta pierwsza osoba jest wylogowana. Chodzi o to że jeśli ktoś jest zalogowany na dane konto to nikt inny w tym czasie nie może się juz na nie zalogować, do momentu aż ta pierwsza osoba się wyloguje lub po prostu zamknie przeglądarkę.

A co jak ktoś się nie wyloguje tylko np padnie mu przeglądarka i nie może przywrócić sesji. Pamiętaj o takim scenariuszu i na wszelki wypadek dorzuć jeszcze jakieś ograniczenie czasowe do tego całego rozwiązania. Ma to sens działać jeśli np trzeba odnawiać sesję poprzez działania na stronie (banki tak robią). Wtedy jak komuś czasowo sesja wygaśnie to będzie znów mógł się zalgować a jak aktualnie jest zalogowany to drugie logowanie może być niedozwolone. Tyle z mojej strony w kwestiach technicznej.

Od strony biznesowej wydaje mi się to słabe dla większości stron i niepotrzebne ale pewnie akurat jesteś w tym 1% przypadku, gdzie z jakiegoś powodu ma to uzasadnienie.