My app allows an admin to suspend/unsuspend user accounts. I do this with the following code:
MembershipUser user = Membership.GetUser(Guid.Parse(userId));
u
On some common page, check for the account being valid, and if it's been revoked, call Session.Abandon()
.
Edit (Just noticed this was still open.)
I know this works, because I do it.
On the master page, check the account status. That means on every navigation you have the chance to log them out.
(Final) Edit
Don't think of it as "I am terminating their session," think of it as "their session terminates itself."