private void loadUser(string customer_id, string token)
        {
            //try
            //{
            //获取登录管理平台的用户信息
            var AuthWebService = new JIT.CPOS.BS.WebServices.AuthManagerWebServices.AuthServiceSoapClient();

            AuthWebService.Endpoint.Address = new System.ServiceModel.EndpointAddress(
                ConfigurationManager.AppSettings["sso_url"].ToString() + "/AuthService.asmx");
            //   AuthWebService.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://localhost:42305/AuthService.asmx");

            //AuthWebService.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://localhost:7335/AuthService.asmx");
            if (token == null)
            {
                token = "";
            }
            string str = AuthWebService.GetLoginUserInfo(token);

            if (string.IsNullOrEmpty(str))
            {
                //this.lbErr.Text = "用户不存在,请与管理员联系";
                //return;
                PageLog.Current.Write("SSO登录失败,AuthWebService.asmx返回空数据");
                //Response.Write("登录失败,请重试!");
                //Response.End();
                var redirectUrl = ConfigurationManager.AppSettings["sso_url"].ToString() + "?errorinfo=" + "网络繁忙,请重新登录!";
                //var redirectUrl = "http://localhost:7335/login.aspx";
                Response.Redirect(redirectUrl, true);
            }

            var myLoggingManager = (JIT.CPOS.BS.Entity.LoggingManager)cXMLService.Deserialize(
                str, typeof(JIT.CPOS.BS.Entity.LoggingManager));

            //判断登录进来的用户是否存在,并且返回用户信息
            LoggingSessionInfo loggingSession = new LoggingSessionInfo();

            loggingSession.CurrentLoggingManager = myLoggingManager;
            cUserService userService = new cUserService(loggingSession);
            UnitService  unitService = new UnitService(loggingSession);

            if (!userService.IsExistUser(loggingSession))
            {
                this.lbErr.Text = "用户不存在,请与管理员联系";
                return;
            }
            var login_user = userService.GetUserById(loggingSession, myLoggingManager.User_Id);

            loggingSession.CurrentUser = login_user;

            // 获取角色
            string applicationId = PageBase.JITPage.GetApplicationId();
            IList <UserRoleInfo> userRoleList = userService.GetUserRoles(login_user.User_Id, applicationId);

            if (userRoleList != null && userRoleList.Count > 0)
            {
                loggingSession.CurrentUserRole          = new UserRoleInfo();
                loggingSession.CurrentUserRole.UserId   = login_user.User_Id;
                loggingSession.CurrentUserRole.UserName = login_user.User_Name;
                loggingSession.CurrentUserRole.RoleId   = userRoleList[0].RoleId;
                loggingSession.CurrentUserRole.RoleCode = userRoleList[0].RoleCode;
                loggingSession.CurrentUserRole.RoleName = userRoleList[0].RoleName;

                loggingSession.ClientID = login_user.customer_id;
                loggingSession.CurrentLoggingManager.Customer_Id = login_user.customer_id;
                loggingSession.UserID = loggingSession.CurrentUser.User_Id;

                try
                {
                    loggingSession.CurrentUserRole.UnitId = userService.GetDefaultUnitByUserIdAndRoleId(
                        loggingSession.CurrentUserRole.UserId, loggingSession.CurrentUserRole.RoleId);
                }
                catch (Exception ex)
                {
                    PageLog.Current.Write(ex);
                    Response.Write("找不到默认单位");
                    Response.End();
                }

                try
                {
                    var unitInfo = unitService.GetUnitById(loggingSession.CurrentUserRole.UnitId);
                    loggingSession.CurrentUserRole.UnitName      = unitInfo.Name;
                    loggingSession.CurrentUserRole.UnitShortName = unitInfo.ShortName;
                }
                catch (Exception ex)
                {
                    PageLog.Current.Write(ex);
                    Response.Write("找不到单位");
                    Response.End();
                }
            }
            else
            {
                //PageLog.Current.Write(ex);
                Response.Write("该用户没有权限登录管理平台");
                Response.End();
            }



            //this.Session["UserInfo"] = login_user;
            //this.Session["LoggingManager"] = myLoggingManager;
            //this.Session["loggingSessionInfo"] = loggingSession;


            //loggingSession.CurrentLoggingManager = myLoggingManager;
            new SessionManager().SetCurrentUserLoginInfo(loggingSession);

            //清空密码
            login_user.User_Password = null;
            //string go_url = "~/login/SelectRoleUnit.aspx?p=0";
            string go_url = "~/Default.aspx";

            if (loggingSession.CurrentUserRole != null && loggingSession.CurrentUserRole.RoleId == "860E69754D3B490F8A5B401DF3F66E15")
            {
                string eventId = string.Empty;
                //switch (loggingSession.CurrentUserRole.UserId.Trim())
                //{
                //    case "FA1BDA8937924D45AFA3123FE4DEE8FA":
                //        eventId = "0326056B219340D5B234BFAD9AF02AF5";
                //        break;
                //    case "4913B21CFD714C7986842B859EC1289B":
                //        eventId = "793150439CF94190A70CF2EC229A951D";
                //        break;
                //    case "BD8079F886BD492E90A335EBC1DE9676":
                //        eventId = "F8A7E2E8807B49558F1A516F23C34473";
                //        break;
                //    default:
                //        eventId = "793150439CF94190A70CF2EC229A951D";
                //        break;
                //}
                LEventsBLL lEventsBLL = new LEventsBLL(loggingSession);
                var        eventList  = lEventsBLL.QueryByEntity(new LEventsEntity()
                {
                    EventManagerUserId = loggingSession.CurrentUserRole.UserId
                }, null);
                if (eventList != null && eventList.Length > 0)
                {
                    eventId = eventList[0].EventID;
                    loggingSession.CurrentUserRole.RoleName = eventId;
                    Response.Redirect("~/Module/MarketEvent/EventList/EventAnalysisList4.aspx", true);
                }
            }
            else
            {
                //loggingSession.CurrentUserRole.RoleName = "793150439CF94190A70CF2EC229A951D";
                Response.Redirect(go_url, true);
            }
            //}
            //catch (Exception ex)
            //{
            //    PageLog.Current.Write(ex);
            //    lbErr.Text = "登录失败";
            //}
        }
示例#2
0
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            //string customerCode = this.txtCustomerCode.Value.Trim();
            string account = this.txtUsername.Value.Trim();
            string pwd     = this.txtPassword.Value.Trim();

            //string authCode = txtValidateCode.Text.Trim();
            //将用户登录名密码提交到服务器检验

            //if (string.IsNullOrEmpty(customerCode) || customerCode == "公司编码")
            //{
            //    lblInfor.Text = "请输入公司编码!";
            //    txtCustomerCode.Focus();
            //    return;
            //}
            if (string.IsNullOrEmpty(account) || account == "用户名")
            {
                lblInfor.Text = "请输入用户名!";
                txtUsername.Focus();
                return;
            }

            if (string.IsNullOrEmpty(pwd))
            {
                lblInfor.Text = "请输入密码!";
                txtPassword.Focus();
                return;
            }


            Hashtable ht                 = new Hashtable();
            UserInfo  login_user         = null;
            var       loggingSessionInfo = GetLjLoggingSession();
            var       service            = new cUserService(loggingSessionInfo);

            try
            {
                int ret      = 0;
                var userList = service.SearchUserList(account, "", "", "", 1, 0);
                if (userList != null && userList.UserInfoList != null && userList.UserInfoList.Count > 0)
                {
                    login_user             = userList.UserInfoList[0];
                    login_user.customer_id = "43753855ae814fc093c281441972f8f1";
                    if (login_user.User_Status == "-1")
                    {
                        ret = -2;
                    }
                    else if (login_user.User_Password != EncryptManager.Hash(pwd, HashProviderType.MD5))
                    {
                        ret = -3;
                    }
                    else
                    {
                        ret = 1;
                    }
                }
                else
                {
                    ret = -1;
                }


                switch (ret)
                {
                case -1:
                    lblInfor.Text = "用户不存在";
                    return;

                case -2:
                    lblInfor.Text = "用户被停用";
                    return;

                case -3:
                    lblInfor.Text = "密码不正确";
                    return;

                case -4:
                    lblInfor.Text = "用户不在线";
                    return;

                case 1:
                    //用户名和密码验证通过
                    break;

                default:
                    lblInfor.Text = "用户名和密码不正确";
                    return;
                }
            }
            catch
            {
                lblInfor.Text = "用户名和密码不正确";
                return;
            }

            // chkRemember
            if (chkRemember.Checked)
            {
                Response.Cookies["cpos_sso_remember"].Value   = "1";
                Response.Cookies["cpos_sso_remember"].Expires = DateTime.MaxValue;

                Response.Cookies["cpos_sso_user"].Value   = account;
                Response.Cookies["cpos_sso_user"].Expires = DateTime.MaxValue;

                Response.Cookies["cpos_sso_pwd"].Value   = pwd;
                Response.Cookies["cpos_sso_pwd"].Expires = DateTime.MaxValue;
            }
            else
            {
                Response.Cookies["cpos_sso_remember"].Value = "";
                Response.Cookies["cpos_sso_user"].Value     = "";
                Response.Cookies["cpos_sso_pwd"].Value      = "";
            }

            //判断登录进来的用户是否存在,并且返回用户信息
            LoggingSessionInfo loggingSession = new LoggingSessionInfo();

            loggingSession.CurrentLoggingManager = new LoggingManager();
            loggingSession.CurrentLoggingManager.Connection_String = loggingSessionInfo.Conn;
            loggingSession.CurrentLoggingManager.Customer_Id       = loggingSessionInfo.CurrentUser.customer_id;

            loggingSession.CurrentUser = login_user;

            // 获取角色
            string applicationId = PageBase.JITPage.GetApplicationId();
            IList <UserRoleInfo> userRoleList = service.GetUserRoles(login_user.User_Id, applicationId);

            if (userRoleList != null && userRoleList.Count > 0)
            {
                loggingSession.CurrentUserRole          = new UserRoleInfo();
                loggingSession.CurrentUserRole.UserId   = login_user.User_Id;
                loggingSession.CurrentUserRole.UserName = login_user.User_Name;
                loggingSession.CurrentUserRole.RoleId   = userRoleList[0].RoleId;
                loggingSession.CurrentUserRole.RoleName = userRoleList[0].RoleName;

                loggingSession.ClientID = login_user.customer_id;
                loggingSession.CurrentLoggingManager.Customer_Id = login_user.customer_id;
                loggingSession.UserID = loggingSession.CurrentUser.User_Id;

                try
                {
                    loggingSession.CurrentUserRole.UnitId = service.GetDefaultUnitByUserIdAndRoleId(
                        loggingSession.CurrentUserRole.UserId, loggingSession.CurrentUserRole.RoleId);
                }
                catch (Exception ex)
                {
                    PageLog.Current.Write(ex);
                    Response.Write("找不到默认单位");
                    Response.End();
                }

                //try
                //{
                //    loggingSession.CurrentUserRole.UnitName = unitService.GetUnitById(
                //        loggingSessionInfo, loggingSession.CurrentUserRole.UnitId).ShortName;
                //}
                //catch (Exception ex)
                //{
                //    PageLog.Current.Write(ex);
                //    Response.Write("找不到单位");
                //    Response.End();
                //}
            }


            //this.Session["UserInfo"] = login_user;
            //this.Session["LoggingManager"] = myLoggingManager;
            //this.Session["loggingSessionInfo"] = loggingSession;


            //loggingSession.CurrentLoggingManager = myLoggingManager;
            new SessionManager().SetCurrentUserLoginInfo(loggingSession);

            //清空密码
            login_user.User_Password = null;

            string goURL = "~/Default.aspx";

            this.Response.Redirect(goURL);
        }
示例#3
0
        /// <summary>
        /// 获取BS用户登录信息
        /// </summary>
        /// <param name="customerId"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public static LoggingSessionInfo GetBSLoggingSession(string customerId, string userId)
        {
            if (userId == null || userId == string.Empty)
            {
                userId = "system";
            }

            string conn = "";
            string name = "";



            CC_Connection connection = new RedisConnectionBLL().GetConnection(customerId);//从redis里获取商户数据库链接
            RedisXML      _RedisXML  = new RedisXML();

            //如果从缓存里获取不到信息,就从数据库读取,并种到缓存里
            if (connection == null || string.IsNullOrEmpty(connection.ConnectionStr) || string.IsNullOrEmpty(connection.Customer_Name))
            {
                //记录redis读取不成功,从数据库里读取数据的情况
                _RedisXML.RedisReadDBCount("Connection", "商户数据库链接", 2);

                conn = GetCustomerConn(customerId);
                name = GetCustomerName(customerId);
                string code = GetCustomerCode(customerId);
                new RedisConnectionBLL().SetConnection(customerId, conn, name, code);
            }
            else
            {
                //记录redis读取日志
                _RedisXML.RedisReadDBCount("Connection", "商户数据库链接", 1);
                conn = connection.ConnectionStr;
                name = connection.Customer_Name;
            }



            LoggingSessionInfo loggingSessionInfo = new LoggingSessionInfo();

            //loggingSessionInfo = new CLoggingSessionService().GetLoggingSessionInfo(customerId, "7d4cda48970b4ed0aa697d8c2c2e4af3");
            loggingSessionInfo.CurrentUser             = new BS.Entity.User.UserInfo();
            loggingSessionInfo.CurrentUser.User_Id     = userId;
            loggingSessionInfo.CurrentUser.customer_id = customerId;

            loggingSessionInfo.UserID   = loggingSessionInfo.CurrentUser.User_Id;
            loggingSessionInfo.ClientID = customerId;
            loggingSessionInfo.Conn     = conn;

            loggingSessionInfo.CurrentLoggingManager = new LoggingManager();
            loggingSessionInfo.CurrentLoggingManager.Connection_String = loggingSessionInfo.Conn;
            loggingSessionInfo.CurrentLoggingManager.User_Id           = userId;
            loggingSessionInfo.CurrentLoggingManager.Customer_Id       = customerId;
            loggingSessionInfo.CurrentLoggingManager.Customer_Name     = name;
            loggingSessionInfo.CurrentLoggingManager.User_Name         = "";
            if (!string.IsNullOrEmpty(conn))
            {
                //用户角色信息
                cUserService         userService   = new cUserService(loggingSessionInfo);
                string               applicationId = "649F8B8BDA9840D6A18130A5FF4CB9C8";//[T_Def_App] app
                IList <UserRoleInfo> userRoleList  = userService.GetUserRoles(loggingSessionInfo.UserID, applicationId);
                if (userRoleList != null && userRoleList.Count > 0)
                {
                    loggingSessionInfo.CurrentUserRole        = new UserRoleInfo();
                    loggingSessionInfo.CurrentUserRole.UserId = loggingSessionInfo.UserID;
                    //loggingSessionInfo.CurrentUserRole.UserName = login_user.User_Name;
                    loggingSessionInfo.CurrentUserRole.RoleId   = userRoleList[0].RoleId;
                    loggingSessionInfo.CurrentUserRole.RoleCode = userRoleList[0].RoleCode;
                    loggingSessionInfo.CurrentUserRole.RoleName = userRoleList[0].RoleName;

                    loggingSessionInfo.CurrentUserRole.UnitId = userService.GetDefaultUnitByUserIdAndRoleId(
                        loggingSessionInfo.CurrentUserRole.UserId, loggingSessionInfo.CurrentUserRole.RoleId);
                }
                loggingSessionInfo.ClientName = name;
            }
            return(loggingSessionInfo);
        }