It’s based on your code logic. Onces you logout you can update currentlogoutTime in database for particular user and on your generic method call to check wheather CurrentLogoutTime is less than currentTime if it less than then you can call Session.Abandon(); to end the session for all browsers.
C#
// On single page or on Masterpage
protected void Page_Load(object sender, EventArgs e)
{
// Check the LogoutTime for User if its less than Current time then Make current session End using Session.Abandon();
}
// On Logout Event
protected void Logout(object sender, EventArgs e)
{
Session.Abandon();
// Update in your database in table where you can save CurrentLogouttime based on UserId
}
// If you have any BaseClass which you are inheriting for pageClass then call it in that page
protected void Page_PreInit(object sender, EventArgs e)
{
// Check the LogoutTime for User if its less than Current time then Make current session End
}
Also on Login You Need to make Same Column value as Null which you have updated with CurrentDateTime based on UseId so it will allow user to be active as there is Null value.
protected void Login(object sender, EventArgs e)
{
// Update in your database in table where you can Null the logouttime based on UserId so it will make him as Active user
}