GetCurrentUser() public static method

Gets the current user, if any, of a session.
public static GetCurrentUser ( string sessionId ) : UserInfo
sessionId string The session ID.
return UserInfo
示例#1
0
        /// <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);
        }