Ejemplo n.º 1
0
        /// <summary>
        /// 初始化一个应用系统用户
        /// </summary>
        public static ResultOfInitBasicLogin InitBasicLogin(DBOperator dbOperator, int userID)
        {
            ResultOfInitBasicLogin myResult = new ResultOfInitBasicLogin();

            Bigdesk2010.Business.UserRightManager.IUserRightInfo ur = new Bigdesk2010.Business.UserRightManager.UserRightInfo(dbOperator, userID);
            if (ur.CountOfUserMatched < 1)
            {
                myResult.ResultCode = ResultCodeOfInitBasicLogin.用户不存在;
                myResult.Message    = "用户不存在!";
                return(myResult);
            }
            else if (ur.CountOfUserMatched > 1)
            {
                myResult.ResultCode = ResultCodeOfInitBasicLogin.用户重复;
                myResult.Message    = "用户重复,请与系统管理员联系!";
                return(myResult);
            }
            myResult.ResultCode = ResultCodeOfInitBasicLogin.唯一用户;

            BasicLoginInfo workUser = new BasicLoginInfo();

            workUser.UserID      = ur.UserID;
            workUser.LoginName   = ur.LoginName;
            workUser.UserName    = ur.UserName;
            workUser.UserType    = ur.UserType;
            workUser.OrgUnitName = ur.OrgUnitName;

            myResult.WorkUser = workUser;
            return(myResult);
        }
Ejemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 public static void SetBasicLoginInfo(BasicLoginInfo loginInfo)
 {
     if (GetAuthenticationMode() == "Forms")
     {
         HttpCookie basicLoginCookie = new HttpCookie(CookieNameOfBasicLoginInfo);
         basicLoginCookie.Expires               = DateTime.Now.AddDays(1); //设置Cookie超时时间
         basicLoginCookie[KeyNameOfUserID]      = loginInfo.UserID.ToString();
         basicLoginCookie[KeyNameOfLoginName]   = HttpUtility.UrlEncode(loginInfo.LoginName);
         basicLoginCookie[KeyNameOfUserName]    = HttpUtility.UrlEncode(loginInfo.UserName);//因为cookie里中文字符在浏览器和web server间直接传递时,会变成乱码,故需要Encode一下
         basicLoginCookie[KeyNameOfUserType]    = HttpUtility.UrlEncode(loginInfo.UserType.ToString());
         basicLoginCookie[KeyNameOfOrgUnitName] = HttpUtility.UrlEncode(loginInfo.OrgUnitName);
         HttpContext.Current.Response.AppendCookie(basicLoginCookie);
     }
     else
     {
         HttpContext.Current.Session[SessionNameOfBasicLoginInfo] = loginInfo;
     }
 }
Ejemplo n.º 3
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);    //"未取到登录信息
        }