Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        public static ScicLoginInfo GetScicLoginInfo()
        {
            if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" && HttpContext.Current.User.Identity.IsAuthenticated)
            {
                //因为cookie是全网站公用的,故首先看cookie
                ScicLoginInfo loginInfo       = new ScicLoginInfo();
                HttpCookie    scicLoginCookie = HttpContext.Current.Request.Cookies[CookieNameOfScicLoginInfo];
                if (!scicLoginCookie.IsEmpty())
                {
                    loginInfo.UserID    = scicLoginCookie[KeyNameOfUserID].ToInt32();
                    loginInfo.LoginName = HttpUtility.UrlDecode(scicLoginCookie[KeyNameOfLoginName]);
                    loginInfo.UserName  = HttpUtility.UrlDecode(scicLoginCookie[KeyNameOfUserName]);
                    loginInfo.OrgID     = scicLoginCookie[KeyNameOfOrgID];
                    //张鎏  添加
                    loginInfo.OrgUnitName = HttpUtility.UrlDecode(scicLoginCookie[KeyNameOfOrgUnitName]);
                    loginInfo.UserType    = (BasicUserType)Enum.Parse(typeof(BasicUserType), HttpUtility.UrlDecode(scicLoginCookie[KeyNameOfUserType]));
                    loginInfo.LoginType   = (ScicLoginType)Enum.Parse(typeof(ScicLoginType), HttpUtility.UrlDecode(scicLoginCookie[KeyNameOfLoginType]));
                    string[] arraySelectableLoginTypes = HttpUtility.UrlDecode(scicLoginCookie[KeyNameOfSelectableLoginTypes]).Split(new char[] { ',' });
                    loginInfo.SelectableLoginTypes = new List <ScicLoginType>();
                    foreach (string strLoginType in arraySelectableLoginTypes)
                    {
                        loginInfo.SelectableLoginTypes.Add((ScicLoginType)Enum.Parse(typeof(ScicLoginType), strLoginType));
                    }

                    return(loginInfo);
                }
            }
            else if (!HttpContext.Current.Session[SessionNameOfScicLoginInfo].IsEmpty()) //如果没有用cookie,则从session中查找
            {
                return((ScicLoginInfo)HttpContext.Current.Session[SessionNameOfScicLoginInfo]);
            }

            return(null);    //"未取到登录信息
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        public static BasicLoginInfo GetBasicLoginInfo()
        {
            if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" && HttpContext.Current.User.Identity.IsAuthenticated)
            {
                //因为cookie是全网站公用的,故首先看cookie
                BasicLoginInfo loginInfo        = new BasicLoginInfo();
                HttpCookie     basicLoginCookie = HttpContext.Current.Request.Cookies[CookieNameOfBasicLoginInfo];
                if (!basicLoginCookie.IsEmpty())
                {
                    loginInfo.UserID      = basicLoginCookie[KeyNameOfUserID].ToInt32();
                    loginInfo.LoginName   = basicLoginCookie[KeyNameOfLoginName];
                    loginInfo.UserName    = HttpUtility.UrlDecode(basicLoginCookie[KeyNameOfUserName]);
                    loginInfo.OrgUnitName = HttpUtility.UrlDecode(basicLoginCookie[KeyNameOfOrgUnitName]);
                    loginInfo.UserType    = (BasicUserType)Enum.Parse(typeof(BasicUserType), HttpUtility.UrlDecode(basicLoginCookie[KeyNameOfUserType]));
                    return(loginInfo);
                }
            }
            else if (!HttpContext.Current.Session[SessionNameOfScicLoginInfo].IsEmpty()) //如果没有用cookie,则从session中查找
            {
                return((BasicLoginInfo)HttpContext.Current.Session[SessionNameOfBasicLoginInfo]);
            }

            return(null);    //"未取到登录信息
        }