I have this below code which is acting pretty weird which I have never encountered before
var user = Membership.GetUser(); if (user == null || user.UserName == "\0" || user.Email == "\0") { LoggedOutView(); } else { AccountHyperLink.NavigateUrl = await UserBL.GetRootFolderAsync(user.UserName); LoggedInView(); } When the user is not logged in then also the Membership.GetUser() returns a non null user which has Username='\0' and Email='\0'
I have used SessionStateMode=Custom which is the RedisCache SessionStateProvider and also defined the ValidationKey and DecryptionKey in web.config file
check the Screenshot
http://screencast.com/t/K4V6FYrEp7pO

Go to the complete details ...