/// <summary> /// Gets the current user, if any. /// </summary> /// <returns>The current user, or <c>null</c>.</returns> public static UserInfo GetCurrentUser( ) { if (Session != null) { string sessionId = Session.SessionID; UserInfo current = SessionCache.GetCurrentUser(sessionId); if (current != null) { return(current); } string un = CurrentUsername; if (string.IsNullOrEmpty(un)) { return(null); } if (un == AnonymousUsername) { return(Users.GetAnonymousAccount( )); } current = Users.FindUser(un); if (current != null) { SessionCache.SetCurrentUser(sessionId, current); return(current); } // Username is invalid Session.Clear( ); Session.Abandon( ); return(null); } return(null); }