When you work with Forms Authentication, the expected behaviour when you call
FormsAuthentication.Signout() is that
Http.Current.Request.IsAuthenticated will return
You are wrong.
Using the Code
When you check this:
bool isAuthenticated = Request.IsAuthenticated;
the result is always
It's not what we expect when signout is performed.
Fix the Issue
To fix it after signout process, you need to assign new user like below:
new GenericPrincipal(new GenericIdentity(string.Empty), null);
GenericIdentity is assigned to user in current context. New identity with empty name and
null as authentication type.
Then it works!