jest możliwe, aby zezwolić na tylko jedno współbieżne logowanie na użytkownika w aplikacji internetowej Asp.Net?Tylko jedno równoczesne logowanie na użytkownika w Asp.net
Pracuję nad jedną aplikacją internetową, w której chcę się upewnić, że witryna dopuszcza tylko jedno logowanie na użytkownika na raz. Jak sprawdzić, czy bieżący użytkownik jest już zalogowany, czy nie.
sugerują właściwą metodę logowania, dzięki której poradzimy sobie z tym problemem. Myślę, że powinniśmy użyć stanu sesji serwera SQL, aby rozwiązać ten problem. co sugerujesz ?
Pomyślałem o jednym rozwiązaniu. nie wiem, czy to właściwe, czy nie. możemy zrobić coś takiego:
Po zalogowaniu użytkownika do systemu wstawiamy identyfikator sesji w kolumnie użytkownika. (wykorzystamy sesję bazy danych, aby łatwo uzyskać wszystkie dane związane z sesją, takie jak isexpired, expiredatetime itp.).
Gdy ten sam użytkownik spróbuje się zalogować po raz drugi, sprawdzimy kolumnę identyfikatora sesji i sprawdzimy, czy sesja już wygasła, czy też nie. jeśli sesja nie wygasła, nie zezwalamy użytkownikowi na logowanie.
Zaktualizuj identyfikator sesji użytkownika za każdym razem, gdy użytkownik się wyloguje.
Proszę zasugerować w odpowiedni sposób, czy nie.
Jakiego rodzaju uwierzytelnienia używasz? standardowy formularz Autoryzacja lub coś niestandardowego? –
stworzyliśmy formularz logowania i wykonaliśmy procedurę sklepu, aby sprawdzić dane logowania użytkownika. nie wykorzystaliśmy żadnych funkcji członkostwa. –
zapisz właściwość 'isLoggedIn' i po uwierzytelnieniu podnieś ją do' 1', gdy wylogujesz się do '0', jeśli sesja zakończy się w międzyczasie musisz zresetować wszystko,' Membership' używa 'LastLoginDate' i możesz zagrać trochę z tym. – balexandre