Beispiel #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     TokenValidate.Validate();
     int    Result = TokenValidate.Result;
     string CustID = TokenValidate.CustID;
     string dd     = "1";
 }
Beispiel #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.AddHeader("P3P", "CP=CAO PSA OUR");

        ParseSPTokenRequest();

        string NeedLogin = Request["NeedLogin"];

        if ("0".Equals(NeedLogin))
        {
            //已登录流程
            TokenValidate.IsRedircet = false;
            TokenValidate.Validate();
            if (TokenValidate.Result == 0)
            {
                this.ssoFunc();
            }
            else if (CommonUtility.IsParameterExist("NeedLogin", this.Page))
            {
                //不需要客户认证平台登陆
                if (!"0".Equals(Request["NeedLogin"]))
                {
                    Response.Redirect(ReturnURL + "?NeedLogin=1");
                    //Response.Redirect("yiqigou_login.aspx");
                }
            }
        }
        else
        {
        }
    }
Beispiel #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.AddHeader("P3P", "CP=CAO PSA OUR");
        StringBuilder strLog = new StringBuilder();

        //判断并解析SPTokenRequest参数
        ParseSPTokenRequest();
        //生成udb请求参数,注意CreateUdbPassportLoginRequest()方法必须放在ParseSPTokenRequst()后面
        CreateUdbPassportLoginRequest();
        //已登录流程
        TokenValidate.IsRedircet = false;
        TokenValidate.Validate();
        if (TokenValidate.Result == 0)
        {
            this.ssoFunc();
        }
        else if (CommonUtility.IsParameterExist("NeedLogin", this.Page))
        {
            //不需要客户认证平台登陆
            if (!"0".Equals(Request["NeedLogin"]))
            {
                Response.Redirect(ReturnURL + "?NeedLogin=1");
            }
        }
    }
Beispiel #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            TokenValidate.Validate();
            if (CommonBizRules.IsUrlParams(HttpContext.Current.Request.Url.OriginalString))
            {
                SPID = HttpUtility.HtmlDecode(Request.QueryString["SPID"].ToString());
               
            }
            CustID = TokenValidate.CustID;
           
            proInfoList.Items.Clear();
            DataTable dt = CustProvinceRelation.GetProvince();
            if (dt != null)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ListItem ltem = new ListItem();
                    ltem.Value = dt.Rows[i]["ProvinceID"].ToString();
                    ltem.Text = dt.Rows[i]["ProvinceName"].ToString();
                    proInfoList.Items.Add(ltem);
                }
                proInfoList.Items.Add("请选择省份");
                proInfoList.SelectedIndex = dt.Rows.Count ;
            }
         

        }
    }
Beispiel #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            TokenValidate.IsRedircet = true;
            TokenValidate.Validate();
            CustID = TokenValidate.CustID;
            //取出问题列表
            DataSet ds = PassWordBO.QueryPwdQuestion();

            //给问题一下拉框赋值
            ddlQuestion1.DataSource     = ds;
            ddlQuestion1.DataValueField = "QuestionID";
            ddlQuestion1.DataTextField  = "Question";
            ddlQuestion1.DataBind();

            //给问题二下拉框赋值
            ddlQuestion2.DataSource     = ds;
            ddlQuestion2.DataValueField = "QuestionID";
            ddlQuestion2.DataTextField  = "Question";
            ddlQuestion2.DataBind();

            //给问题三下拉框赋值
            ddlQuestion3.DataSource     = ds;
            ddlQuestion3.DataValueField = "QuestionID";
            ddlQuestion3.DataTextField  = "Question";
            ddlQuestion3.DataBind();

            //根据当前客户ID取得答案列表
            DataSet dsAnswer = PassWordBO.QueryPwdQuestionAnswer(CustID);

            int j = 0;

            foreach (DataRow row in dsAnswer.Tables[0].Rows)
            {
                if (j == 0)
                {
                    txtHidSq1.Text             = row[0].ToString();
                    ddlQuestion1.SelectedIndex = int.Parse(row[1].ToString());
                    txtAnswer1.Text            = row[2].ToString();
                }
                else if (j == 1)
                {
                    txtHidSq2.Text             = row[0].ToString();
                    ddlQuestion2.SelectedIndex = int.Parse(row[1].ToString());
                    txtAnswer2.Text            = row[2].ToString();
                }
                else if (j == 2)
                {
                    txtHidSq3.Text             = row[0].ToString();
                    ddlQuestion3.SelectedIndex = int.Parse(row[1].ToString());
                    txtAnswer3.Text            = row[2].ToString();
                }

                j++;
            }
        }
    }
Beispiel #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (PageUtility.IsParameterExist("ReturnUrl", this.Page))
        {
            ReturnUrl = Request["ReturnUrl"];
        }

        if (!Page.IsPostBack)
        {
            //Page.RegisterStartupScript("", "<script>csstype();</script>");
            this.Page.Title = "号码百事通客户信息平台";
            string Spid = null;
            if (Request.QueryString["SPID"] != null)
            {
                if (Request.QueryString["SPID"].ToString() != "35000000")
                {
                    Spid = Request.QueryString["SPID"].ToString();
                    this.spidtxt.Value = Spid;
                }
                else
                {
                    Spid = "35000000";
                    this.spidtxt.Value = Spid;
                }
            }
            else
            {
                Spid = "";
                this.spidtxt.Value = Spid;
            }


            string PageName     = Request.Url.AbsolutePath;
            int    LastLine     = PageName.LastIndexOf('/');
            int    LocationASPX = PageName.LastIndexOf(".aspx");
            PageName = PageName.Substring(LastLine + 1, LocationASPX - LastLine - 1);
            //获取不需要登录的页面列表,若为不需要登录的页面则不校验Cookie
            string NoLoginPageList = System.Configuration.ConfigurationManager.AppSettings["NoLoginPageList"];
            if (NoLoginPageList.IndexOf(PageName) < 0)
            {
                TokenValidate.IsRedircet = true;
            }
            TokenValidate.IsRedircet = false;

            TokenValidate.Validate();
            string CustID = TokenValidate.CustID;
            OuterID = TokenValidate.OuterID;
            if (CustID != "")
            {
                this.custidtxt.Value = CustID;
            }
            if (!String.IsNullOrEmpty(OuterID))
            {
                this.outeridtxt.Value = OuterID;
            }
        }
    }
Beispiel #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //Response.AddHeader("P3P", "CP=CAO PSA OUR");

        err_Username.InnerHtml = "";
        err_Password.InnerHtml = "";
        err_code.InnerHtml     = "";
        backCount.Value        = Convert.ToString((Convert.ToInt32(backCount.Value) - 1));

        //判断并解析SPTokenRequest参数
        ParseSPTokenRequest();
        //生成udb请求参数,注意CreateUdbPassportLoginRequest()方法必须放在ParseSPTokenRequst()后面
        CreateUdbPassportLoginRequest();
        //新浪微博认证请求
        SinaOAuthRequest();
        //QQ认证
        QqOAuthRequest();
        //省网厅单点登陆入口
        if (SourceType == "1")
        {
            log(String.Format("【省网厅登录】:SourceType:{0},ProvinceID:{1}", SourceType, UAProvinceID));
            string Url = "login1.aspx?ProvinceID=" + UAProvinceID;
            PageUtility.SetCookie(ReturnURL, "ReturnURL", this.Page);
            PageUtility.SetCookie(SPID, "SPID", this.Page);
            Response.Redirect(Url, true);
            return;
        }

        //已登录流程
        TokenValidate.IsRedircet = false;
        TokenValidate.Validate();
        if (TokenValidate.Result == 0)
        {
            this.ssoFunc();
        }
        else if (CommonUtility.IsParameterExist("NeedLogin", this.Page))
        {
            //不需要客户认证平台登陆
            if (!"0".Equals(Request["NeedLogin"]))
            {
                Response.Redirect(ReturnURL + "?NeedLogin=1");
            }
        }

        if (!Page.IsPostBack)
        {
            BindAuthenType();
        }
        else
        {
            foreach (ListItem item in ddlAuthenTypeList.Items)
            {
                item.Attributes.Add("onclick", "javascript:selvalue()");
            }
        }
    }
Beispiel #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string Spid  = null;
            string Emali = null;
            string Msg   = null;
            if (Request.QueryString["SPID"] != null)
            {
                if (Request.QueryString["SPID"].ToString() != "35000000")
                {
                    Spid = Request.QueryString["SPID"].ToString();
                }
                else
                {
                    Spid = "35000000";
                }
            }
            else
            {
                Spid = "";
            }
            TokenValidate.IsRedircet = true;
            TokenValidate.Validate();
            string CustID = TokenValidate.CustID;
            //  string CustID = "571300100";
            if (CustID != "")
            {
                this.custidtxt.Value = CustID;
            }
            // Emali = SetMail.SelEmailAddress(this.custidtxt.Value, Spid, out Msg);
            DataSet ds = new DataSet();
            ds = SetMail.SelEmailAddress(this.custidtxt.Value, out Msg);
            if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                this.Emailtxt.Value = ds.Tables[0].Rows[0]["Email"].ToString();

                string Emailclass = ds.Tables[0].Rows[0]["EmailClass"].ToString();
                if (Emailclass == "1")
                {
                    this.EmailClassLab.Text = "一般邮箱";
                }
                else if (Emailclass == "2")
                {
                    this.EmailClassLab.Text = "认证邮箱";
                }
            }
        }
    }
Beispiel #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            TokenValidate.IsRedircet = true;
            TokenValidate.Validate();
            //CustID = TokenValidate.CustID;

            SPID          = Request["SPID"] == null ? String.Empty : Request["SPID"].ToString();
            AuthenPhone   = Request["AuthenMobile"];
            SmsAuthenCode = Request["AuthenCode"];
            ParseSPTokenRequest();
            //CustID = TokenValidate.CustID;
            CreateSPTokenRequest();
        }
    }
Beispiel #10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            TokenValidate.Validate();
            if (CommonBizRules.IsUrlParams(HttpContext.Current.Request.Url.OriginalString))
            {
                if (Request.QueryString["SPID"] != null)
                {
                    SPID = Request.QueryString["SPID"].ToString();
                    //  ReturnUrl = Request.QueryString["ReturnUrl"].ToString();
                }
                else
                {
                    SPID = "35000000";
                }
                //SPID = HttpUtility.HtmlDecode(Request.QueryString["SPID"].ToString());
                //ReturnUrl = HttpUtility.HtmlDecode(Request.QueryString["ReturnUrl"].ToString());
            }

            CustID = TokenValidate.CustID;
            string UserAccount = "";

            try
            {
                string ReturnUrl = HttpUtility.HtmlDecode(Request.QueryString["ReturnUrl"].ToString());
                PageUtility.SetCookie(ReturnUrl, "ReferrerUrl", this.Page);
                //string url = Page.Request.UrlReferrer.ToString();5
                //PageUtility.SetCookie(url, "ReferrerUrl", this.Page);
            }
            catch (System.Exception ex)
            { }
            int Result = CustBasicInfo.GetUserAccount(CustID, out UserAccount, out ErrMsg);
            if (Result == 0)
            {
                //判断此人时候有商旅卡号!
                this.Label1.Text    = "您已经申请过商旅卡了,你的商旅卡号为:" + UserAccount;
                this.Label1.Visible = true;
                btnlogin2.Visible   = true;
            }
            else
            {
                Response.Redirect("bizCard2.aspx?id=6&SPID=" + SPID);
            }
        }
    }
Beispiel #11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        error.InnerHtml    = "";
        err_code.InnerHtml = "";
        TokenValidate.Validate();
        CustID = TokenValidate.CustID;

        if (!Page.IsPostBack)
        {
            //this.CustID = "117663768";

            btn_OK.Attributes.Add("onclick", "return CheckInput('1')");
            if (CommonBizRules.IsUrlParams(HttpContext.Current.Request.Url.OriginalString))
            {
                SPID      = HttpUtility.HtmlDecode(Request.QueryString["SPID"].ToString());
                ReturnUrl = HttpUtility.HtmlDecode(Request.QueryString["ReturnUrl"].ToString());
            }
        }
    }
Beispiel #12
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string mobile = null;
            string Spid   = null;
            string Msg    = "";

            TokenValidate.IsRedircet = true;
            TokenValidate.Validate();
            string CustID = TokenValidate.CustID;
            if (CustID != "")
            {
                this.custidtxt.Value = CustID;
            }
            Spid = Request["SPID"] == null ? String.Empty : Request["SPID"].ToString();
            //if (Request["SPID"] != null)
            //{
            //    if (Request["SPID"].ToString() != "35000000")
            //    {
            //        Spid = Request["SPID"].ToString();
            //    }
            //    else
            //    {
            //        Spid = "35000000";
            //    }
            //}
            //else
            //{
            //    Spid = "";
            //}
            if (Request["Phone"] != null)
            {
                mobile = Request["Phone"].ToString();
                this.verifyMobile.Value = mobile;
                return;
            }

            mobile = PhoneBO.SelPhoneNumV2(this.custidtxt.Value, Spid, out Msg);
            this.verifyMobile.Value = mobile;
        }
    }
Beispiel #13
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string url = Request.Url.AbsoluteUri;
            if (Request.QueryString["SPID"] != null)
            {
                Spid = Request.QueryString["SPID"].ToString();
                this.spidtxt.Value = Spid;
            }

            TokenValidate.IsRedircet = true;
            TokenValidate.Validate();
            string CustID = TokenValidate.CustID;
            if (CustID != "")
            {
                this.custidtxt.Value = CustID;
            }
        }
    }
Beispiel #14
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string Spid = null;

            TokenValidate.IsRedircet = true;
            TokenValidate.Validate();
            string CustID = TokenValidate.CustID;

            Spid = Request["SPID"] == null ? String.Empty : Request["SPID"];
            //if (Request.QueryString["SPID"] != null)
            //{
            //    if (Request.QueryString["SPID"].ToString() != "35000000")
            //    {
            //        Spid = Request.QueryString["SPID"].ToString();
            //    }
            //    else
            //    {
            //        Spid = "35000000";
            //    }
            //}
            //else
            //{
            //    Spid = "";
            //}

            DataSet ds = PhoneBO.GetAllPhone(CustID, out Msg);
            if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                this.Repeater1.DataSource = ds;
                this.Repeater1.DataBind();
            }
            else
            {
                Response.Redirect("setMobile.aspx?id=4&SPID=35000000");
            }
        }
    }
Beispiel #15
0
    protected void Page_Load(object sender, EventArgs e)
    {
        err_code.InnerHtml = "";
        error.InnerHtml    = "";
        if (!Page.IsPostBack)
        {
            btn_OK.Attributes.Add("onclick", "return CheckInput('0')");
            TokenValidate.IsRedircet = true;
            TokenValidate.Validate();
            if (CommonBizRules.IsUrlParams(HttpContext.Current.Request.Url.OriginalString))
            {
                SPID      = HttpUtility.HtmlDecode(Request.QueryString["SPID"].ToString());
                ReturnUrl = HttpUtility.HtmlDecode(Request.QueryString["ReturnUrl"].ToString());
            }
            CustID = TokenValidate.CustID;

            //语言密码为空
            if (PassWordBO.VoicePwdIsNull(CustID, out ErrMsg))
            {
                Label1.Text     = "输入登录密码";
                error.InnerHtml = "提示:您未设置过语音密码 请输入登录密码";
            }
        }
    }
Beispiel #16
0
    protected void btnlogin_ServerClick(object sender, EventArgs e)
    {
        string ErrMeg = "";
        string er     = "";

        TokenValidate.IsRedircet = true;
        TokenValidate.Validate();
        CustID = TokenValidate.CustID;

        if (ddlQuestion1.SelectedIndex != 0 && txtAnswer1.Text.Trim().Length > 0)
        {
            PassWordBO.UpdatePwdQuestionAnswer(txtHidSq1.Text, CustID, ddlQuestion1.SelectedIndex, txtAnswer1.Text, out er);
            ErrMeg = ErrMeg + er;
        }

        if (ddlQuestion2.SelectedIndex != 0 && txtAnswer2.Text.Trim().Length > 0)
        {
            PassWordBO.UpdatePwdQuestionAnswer(txtHidSq2.Text, CustID, ddlQuestion2.SelectedIndex, txtAnswer2.Text, out er);
            ErrMeg = ErrMeg + er;
        }

        if (ddlQuestion3.SelectedIndex != 0 && txtAnswer3.Text.Trim().Length > 0)
        {
            PassWordBO.UpdatePwdQuestionAnswer(txtHidSq3.Text, CustID, ddlQuestion3.SelectedIndex, txtAnswer3.Text, out er);
            ErrMeg = ErrMeg + er;
        }

        CommonBizRules.SuccessRedirect("", "问题设置成功", this.Context);
        //if (ErrMeg == "")
        //{
        //    Context.Server.Transfer("verifyPasswordQnA.aspx");
        //}
        //else {
        //    Context.Server.Transfer("verifyPasswordQnA.aspx");
        //}
    }
Beispiel #17
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //Top1.Welcome = "号码百事通设置用户信息";
        this.Master.setTopWelcome("号码百事通用户信息");
        if (!Page.IsPostBack)
        {
            string url = Request.Url.AbsoluteUri;
            if (Request.QueryString["SPID"] != null)
            {
                Spid = Request.QueryString["SPID"].ToString();
                this.spidtxt.Value = Spid;
            }

            TokenValidate.IsRedircet = true;        //正式要恢复
            TokenValidate.Validate();               //正式要恢复
            string CustID = TokenValidate.CustID;   //正式要恢复

            if (CustID != "")
            {
                this.custidtxt.Value = CustID;
            }


            #region 定义需要的参数

            //输出错误信息
            string Msg = "";
            //客户姓名
            string RealName = "";
            //昵称
            string NickName = "";
            //证件类型
            string CertificateType = "";
            //证件号码
            string CertificateCode = "";
            //性别
            string Sex = "";
            //客户所属省
            string ProvinceID = "";
            //客户归属地市
            string AreaID = "";
            //生日
            string Birthday = "";
            //文化程度
            string EduLevel = "";
            //收入水平
            string IncomeLevel = "";

            //外部客户ID
            string OuterID = "";
            //状态
            string Status = "";
            //客户类型
            string CustType = "";
            //客户级别
            string CustLevel = "";
            //邮箱
            string Email = "";
            //用户名
            string UserName = "";
            //爱好(废除)
            string Favorite = "";
            //?
            string Registration = "";

            string EnterpriseID = "";
            #endregion

            //调用用户基本信息查询函数将以上的参数带入函数内
            int k = CustBasicInfo.getCustInfo(Spid, CustID, out Msg, out OuterID, out Status, out CustType, out CustLevel, out RealName, out UserName, out NickName, out CertificateCode, out CertificateType, out Sex, out Email, out EnterpriseID, out ProvinceID, out AreaID, out Registration);

            //判断 如果函数返回0则对页面的HTML文本框赋值
            if (k == 0)
            {
                //string r = null;
                this.realnametxt.Value = RealName;
                this.nicknametxt.Value = NickName;

                this.certificatetxt.Value = CertificateType;
                this.certnotxt.Value      = CertificateCode;

                this.sextxt.Value    = Sex;
                this.stext.Value     = ProvinceID;
                this.resulttxt.Value = AreaID;
                //this.emailtxt.Value = Email;
                //this.usernameTxt.Value = UserName;

                //初始话页面时给省份下拉框绑定所有省份
                ProvinceInfoManager proInfo = new ProvinceInfoManager();
                object   ProData            = proInfo.GetProvinceData(this.Context);
                DataSet  ds = (DataSet)ProData;
                ListItem li = null;
                this.proInfoList.Items.Clear();
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    if (row["ProvinceID"].ToString() == "35" || row["ProvinceName"].ToString() == "全国中心")
                    {
                        continue;
                    }
                    li = new ListItem(row["ProvinceName"].ToString(), row["ProvinceID"].ToString());
                    this.proInfoList.Items.Add(li);
                }
                //this.proInfoList.DataSource = ds;
                //this.proInfoList.DataTextField = "ProvinceName";
                //this.proInfoList.DataValueField = "ProvinceID";
                //this.proInfoList.DataBind();

                //初始话页面时给城市下拉绑定所有城市
                this.areaInfoList.DataSource     = GetCityName(this.stext.Value);
                this.areaInfoList.DataTextField  = "AreaName";
                this.areaInfoList.DataValueField = "AreaID";
                this.areaInfoList.DataBind();

                this.areaid.DataSource     = GetCityName(this.stext.Value);
                this.areaid.DataTextField  = "AreaID";
                this.areaid.DataValueField = "AreaID";
                this.areaid.DataBind();

                this.certificateSel.Value = this.certificatetxt.Value;

                this.sexSel.Value       = this.sextxt.Value;
                this.proInfoList.Value  = this.stext.Value;
                this.areaInfoList.Value = this.resulttxt.Value;
                this.areaid.Value       = this.resulttxt.Value;

                if (certificateSel.Value == "")
                {
                    certnotxt.Style.Value = "display:block";
                    certnoL.Style.Value   = "display:block";
                }
            }
            //调用客户扩展信息查询函数将以上参数带入函数内
            int y = CustExtendInfo.getCustExtendInfo(Spid, CustID, out Msg, out Birthday, out EduLevel, out Favorite, out IncomeLevel);
            //判断 如果函数返回0则对页面HTML文本框赋值
            if (y == 0)
            {
                if (!CommonUtility.IsEmpty(Birthday))
                {
                    DateTime da = Convert.ToDateTime(Birthday);
                    this.birthdaytxt.Value = da.ToShortDateString();
                }

                this.Edutxt.Value    = EduLevel;
                this.Incometxt.Value = IncomeLevel;
                this.EduSel.Value    = this.Edutxt.Value;
                this.IncomeSel.Value = this.Incometxt.Value;
            }
        }
    }
Beispiel #18
0
    protected void login_Click(object sender, EventArgs e)
    {
        Response.AddHeader("P3P", "CP=CAO PSA OUR");
        StringBuilder strLog = new StringBuilder();
        //string AuthenType = HttpUtility.HtmlDecode(Request.Form["AuthenType"].ToString().Trim().ToUpper());         //获取认证类型

        string AuthenName = username.Text;
        string Password   = password.Text;
        string AuthenType = "1";  // 默认是用户名

        Regex regMobile = new Regex(@"^1[3458]\d{9}$");
        Regex regEmail  = new Regex(@"^[0-9a-zA-Z_\-\.]*[0-9a-zA-Z_\-]@[0-9a-zA-Z]+\.+[0-9a-zA-Z_\-.]+$");
        Regex regCard   = new Regex(@"^(\d{9}|\d{16})$");

        if (regMobile.IsMatch(AuthenName))
        {
            AuthenType = "2";
        }
        if (regEmail.IsMatch(AuthenName))
        {
            AuthenType = "4";
        }
        if (regCard.IsMatch(AuthenName))
        {
            AuthenType = "3";
        }


        PageUtility.SetCookie("AuthenType", AuthenType, 168);           //168个小时,即一个礼拜


        string CustID      = "";
        string RealName    = "";
        string NickName    = "";
        string UserName    = "";
        string OutID       = "";
        string UserAccount = "";
        string ErrMsg      = "";
        string CustType    = "";
        string ProvinceID  = "";
        int    Result      = 1;

        try
        {
            strLog.AppendFormat("checkCode={0}", Request.Form["checkCode"]);
            if (!CommonUtility.ValidateValidateCode(HttpUtility.HtmlDecode(Request.Form["checkCode"].ToString().Trim()), this.Context))
            {
                errorHint.InnerHtml = "验证码错误,请重新输入";
                return;
            }

            //日志
            strLog.AppendFormat("【开始验证】:SPID:{0},ProvinceID:{1},AuthenName:{2},AuthenType:{3}", SPID, ProvinceID, AuthenName, AuthenType);

            Result = BTForBusinessSystemInterfaceRules.UserAuthV2(SPID, AuthenName, AuthenType, Password, Context, ProvinceID, "", "",
                                                                  out ErrMsg, out CustID, out UserAccount, out CustType, out OutID, out ProvinceID, out RealName, out UserName, out NickName);
            //验证结果日志
            strLog.AppendFormat("【验证结果】:CustID:{0},UserAcount:{1},CustType:{2},OutID:{3},ProvinceID:{4},RealName:{5},UserName:{6},NickName:{7}",
                                CustID, UserAccount, CustType, OutID, ProvinceID, RealName, UserName, NickName);
            CommonBizRules.WriteDataCustAuthenLog(SPID, CustID, ProvinceID, AuthenType, AuthenName, "2", Result, ErrMsg);
            if (Result != 0)
            {
                if (Result == 1001 || Result == -20504 || Result == -21553)
                {
                    errorHint.InnerHtml = ErrMsg;
                    //hint_Username.InnerHtml = "";
                    return;
                }

                if (Result == -21501)
                {
                    errorHint.InnerHtml = ErrMsg;
                    return;
                }
                Response.Write(ErrMsg);
                return;
            }

            SPInfoManager spInfo = new SPInfoManager();
            Object        SPData = spInfo.GetSPData(this.Context, "SPData");
            string        key    = spInfo.GetPropertyBySPID("35000000", "SecretKey", SPData);

            //生成token并保存
            UserToken UT             = new UserToken();
            string    UserTokenValue = UT.GenerateUserToken(CustID, RealName, UserName, NickName, OutID, CustType, AuthenName, AuthenType, key, out ErrMsg);
            string    CookieName     = System.Configuration.ConfigurationManager.AppSettings["CookieName"];
            PageUtility.SetCookie(CookieName, UserTokenValue);

            TokenValidate.IsRedircet = false;
            TokenValidate.Validate();

            this.ssoFunc();
        }
        catch (System.Exception ex)
        {
            log(ex.ToString());
        }
        finally
        {
            log(strLog.ToString());
        }
    }
Beispiel #19
0
    void DoCallback()
    {
        StringBuilder strLog = new StringBuilder();

        if (CommonUtility.IsParameterExist("ReturnUrl", this.Page))
        {
            ReturnUrl = Request["ReturnUrl"];
        }
        else
        {
            //Logs.logSave("没有ReturnUrl返回");
            strLog.AppendFormat("没有ReturnUrl返回\r\n");
        }


        if (CommonUtility.IsParameterExist("code", this.Page))
        {
            code = Request["code"];
        }
        else
        {
            //Logs.logSave("没有code返回");
            strLog.AppendFormat("没有code返回\r\n");
        }
        if (CommonUtility.IsParameterExist("openid", this.Page))
        {
            openid = Request["openid"];
        }
        else
        {
            //Logs.logSave("没有openid返回");
            strLog.AppendFormat("没有openid返回\r\n");
        }
        if (CommonUtility.IsParameterExist("openkey", this.Page))
        {
            openkey = Request["openkey"];
        }
        else
        {
            //Logs.logSave("没有openkey返回");
            strLog.AppendFormat("没有openkey返回\r\n");
        }

        //写日志
        //Logs.logSave("返回CODE结果:" + code+",返回的openid:"+openid+",返回的openkey:"+openkey);
        strLog.AppendFormat("返回CODE结果:" + code + ",返回的openid:" + openid + ",返回的openkey:" + openkey + "\r\n");
        //==============通过Authorization Code和基本资料获取Access Token=================
        send_url = "https://open.t.qq.com/cgi-bin/oauth2/access_token?grant_type=authorization_code&client_id=" + client_id + "&client_secret=" + client_secret + "&code=" + code + "&state=" + state + "&redirect_uri=" + Utils.UrlEncode(redirect_uri);
        //https://open.t.qq.com/cgi-bin/oauth2/access_token?client_id=APP_KEY&client_secret=APP_SECRET&redirect_uri=http://www.myurl.com/example&grant_type=authorization_code&code=CODE
        send_url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=" + client_id + "&client_secret=" + client_secret + "&code=" + code + "&state=" + state + "&redirect_uri=" + Utils.UrlEncode(redirect_uri);
        //写日志
        //Logs.logSave("第二步,通过Authorization Code获取Access Token,发送URL:" + send_url);
        strLog.AppendFormat("第二步,通过Authorization Code获取Access Token,发送URL:" + send_url + "\r\n");
        //发送并接受返回值
        rezult = HttpMethods.HttpGet(send_url);
        // 返回内容:access_token=7a0fae7d2183c0c54ef18589fffe6475&expires_in=604800&refresh_token=15a0d166120bda818cd0782c0b7a8c1a&name=huoxintang
        //写日志
        //Logs.logSave("取得返回结果:" + rezult);
        strLog.AppendFormat("取得返回结果:" + rezult + "\r\n");
        //如果失败
        if (rezult.Contains("error"))
        {
            //出错了
            //写日志
            //Logs.logSave("出错了:" + rezult);
            strLog.AppendFormat("出错了:" + rezult + "\r\n");
            HttpContext.Current.Response.End();
        }
        else
        {
            //======================通过Access Token来获取用户的OpenID 这一步不需要 =======graph需要=======

            string[] parm = rezult.Split('&');

            //取得 access_token
            access_token = parm[0].Split('=')[1];
            //取得 过期时间
            expires_in = parm[1].Split('=')[1];

            //refresh_token = parm[2].Split('=')[1];  用graph 可能没有refresh_token

            //拼接url
            send_url = "https://graph.qq.com/oauth2.0/me?access_token=" + access_token;
            //发送并接受返回值
            rezult = HttpMethods.HttpGet(send_url);
            //写日志
            //Logs.logSave("第三步,发送 access_token:" + send_url);
            strLog.AppendFormat("第三步,发送 access_token:" + send_url + "\r\n");
            //如果失败
            if (rezult.Contains("error"))
            {
                //出错了
                //写日志
                //Logs.logSave("出错了:" + rezult);
                strLog.AppendFormat("出错了:" + rezult + "\r\n");
                HttpContext.Current.Response.End();
            }
            //写日志
            //Logs.logSave("得到返回结果:" + rezult);
            strLog.AppendFormat("得到返回结果:" + rezult + "\r\n");

            //取得文字出现
            int str_start = rezult.IndexOf('(') + 1;
            int str_last  = rezult.LastIndexOf(')') - 1;

            //取得JSON字符串
            rezult = rezult.Substring(str_start, (str_last - str_start));
            //反序列化JSON
            Dictionary <string, string> _dic = JsonConvert.DeserializeObject <Dictionary <string, string> >(rezult);


            //取值
            _dic.TryGetValue("client_id", out new_client_id);
            _dic.TryGetValue("openid", out openid);

            //储存获取数据用到的信息
            HttpContext.Current.Session["access_token"] = access_token;
            HttpContext.Current.Session["client_id"]    = client_id;
            HttpContext.Current.Session["openid"]       = openid;
            HttpContext.Current.Session["openkey"]      = openkey;

            // 这里张剑锋还拿到了  Level,NickName,Gender


            //========继续您的业务逻辑编程==========================================

            //取到 openId
            //openId与您系统的user数据进行关联
            //一个openid对应一个QQ,一个openid也要对应到您系统的一个账号:QQ--OpenId--User;
            //这个时候有两种情况:
            //【1】您让用户绑定系统已有的用户,那么让用户输入用户名密码,找到该用户,然后绑定OpenId
            //【2】为用户生成一个系统用户,直接绑定OpenId

            //上面完成之后,设置用户的登录状态,完整绑定和登录


            //=============通过Access Token和OpenID来获取用户资料  ====
            send_url = "https://open.t.qq.com/api/user/info?access_token=" + access_token + "&oauth_consumer_key=" + client_id + "&openid=" + openid + "&openkey=" + openkey + "&oauth_version=2.a";
            //https://open.t.qq.com/api/user/info?access_token=7a0fae7d2183c0c54ef18589fffe6475&oauth_consumer_key=801210600&openid=65FCC7BC2B69619BC13BCF6C16FB06C3&oauth_version=2.a&openkey=05FB5E1C75119B141BAD0444C6EA41CE
            send_url = "https://graph.qq.com/user/get_user_info?access_token=" + access_token + "&oauth_consumer_key=" + client_id + "&openid=" + openid + "&openkey=" + openkey + "&oauth_version=2.a";

            //发送并接受返回值
            //Logs.logSave("发送send_url:" + send_url);
            strLog.AppendFormat("发送send_url:" + send_url + "\r\n");
            rezult = HttpMethods.HttpGet(send_url);
            //写日志
            //Logs.logSave("第四步,通过get_user_info方法获取数据:" + send_url);
            //Logs.logSave("rezult:" + rezult);
            strLog.AppendFormat("第四步,通过get_user_info方法获取数据:" + send_url + "\r\n");
            strLog.AppendFormat("rezult:" + rezult + "\r\n");
            //反序列化JSON

            /**
             * Dictionary<string, object> _data = JsonConvert.DeserializeObject<Dictionary<string, object>>(rezult);
             * object jsondata = null;
             * _data.TryGetValue("data", out jsondata);
             * string js_data = jsondata.ToString();
             * Dictionary<string, object> useinfo_data = JsonConvert.DeserializeObject<Dictionary<string, object>>(js_data);
             * object nick = null;
             * object j_openid = null;
             * object sex = null;
             * object province_code = null;
             * object head = null;
             * object j_name = null;
             * useinfo_data.TryGetValue("nick", out nick);
             * useinfo_data.TryGetValue("openid", out j_openid);
             * useinfo_data.TryGetValue("sex", out sex);
             * useinfo_data.TryGetValue("province_code", out province_code);
             * useinfo_data.TryGetValue("head", out head);
             * useinfo_data.TryGetValue("name", out j_name);
             * Logs.logSave("=====================");
             * Logs.logSave("nickname:" + nick.ToString());
             * Logs.logSave("openid:"+j_openid.ToString());
             * Logs.logSave("sex:"+sex.ToString());
             * Logs.logSave("Province_code:" + province_code.ToString());
             * Logs.logSave("head:" + head.ToString());
             * Logs.logSave("name:" + j_name.ToString());
             * //Logs.logSave("jsondata:" + jsondata);
             *
             **/



            Dictionary <string, string> _dic2 = JsonConvert.DeserializeObject <Dictionary <string, string> >(rezult);

            string ret = "", msg = "", nickname = "", face = "", sex = "", ret_openid = "", ret_name = "";

            //取值
            _dic2.TryGetValue("ret", out ret);
            _dic2.TryGetValue("msg", out msg);

            //如果失败
            if (ret != "0")
            {
                //出错了
                //写日志
                //Logs.logSave("出错了:" + rezult);
                strLog.AppendFormat("出错了:" + rezult + "\r\n");
                //HttpContext.Current.Response.Write(rezult);
                HttpContext.Current.Response.End();
            }

            _dic2.TryGetValue("nickname", out nickname);
            _dic2.TryGetValue("head", out face);

            _dic2.TryGetValue("gender", out sex);
            _dic2.TryGetValue("openid", out ret_openid);
            _dic2.TryGetValue("name", out ret_name);

            //写日志
            ///Logs.logSave("得到返回结果:" + rezult);
            strLog.AppendFormat("得到返回结果:" + rezult + "\r\n");
            //string newline = "<br>";
            //string str = "";
            //str += "openid:" + openid + newline;
            //str += "昵称:" + nickname + newline;
            //str += "名称:" + ret_name + newline;
            //str += "性别:" + sex + newline;
            //str += "默认头像:" + face + newline;


            //页面输出结果:
            //HttpContext.Current.Response.Write("返回结果如下:" + rezult + newline + newline);

            //HttpContext.Current.Response.Write("经过处理后:" + newline + str);


            /**
             * string newline = "<br>";
             * string str = "";
             * str += "openid:" + j_openid.ToString() + newline;
             * str += "昵称:" + nick.ToString() + newline;
             * str += "名称:" + j_name.ToString() + newline;
             * str += "性别:" + sex.ToString() + newline;
             * str += "默认头像:" + head.ToString() + newline;
             * str += "省份:" + province_code.ToString() + newline;
             **/

            //页面输出结果:
            //HttpContext.Current.Response.Write("返回结果如下:" + rezult + newline + newline);

            //HttpContext.Current.Response.Write("经过处理后:" + newline + str);

            string CustID = QueryByOpenID(openid);
            if (String.IsNullOrEmpty(CustID))     // 已有绑定关系
            {
                //直接单点登录
                string AuthenName  = "";
                string AuthenType  = "";
                string RealName    = "";
                string NickName    = "";
                string UserName    = "";
                string OutID       = "";
                string UserAccount = "";
                string CustType    = "";
                string ProvinceID  = "";


                string _connectionString = WebConfigurationManager.ConnectionStrings["BestToneCenterConStr"].ConnectionString;

                SqlConnection con = new SqlConnection(_connectionString);
                SqlCommand    cmd = new SqlCommand("select  RealName,UserName,NickName,OuterID,CustType,SourceSPID from custinfo where custid=@CustID", con);
                cmd.Parameters.Add("@CustID", SqlDbType.NVarChar, 16).Value = CustID;
                using (con)
                {
                    con.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        RealName = (string)reader["RealName"];
                        UserName = (string)reader["UserName"];
                        NickName = (string)reader["NickName"];
                        OutID    = (string)reader["OuterID"];
                        CustType = (string)reader["CustType"];
                        SPID     = (string)reader["SourceSPID"];
                    }
                }

                SPInfoManager spInfo = new SPInfoManager();
                Object        SPData = spInfo.GetSPData(this.Context, "SPData");
                string        key    = spInfo.GetPropertyBySPID("35000000", "SecretKey", SPData);
                string        ErrMsg = "";
                //生成token并保存
                UserToken UT             = new UserToken();
                string    UserTokenValue = UT.GenerateUserToken(CustID, RealName, UserName, NickName, OutID, CustType, AuthenName, AuthenType, key, out ErrMsg);
                string    CookieName     = System.Configuration.ConfigurationManager.AppSettings["CookieName"];
                PageUtility.SetCookie(CookieName, UserTokenValue);

                TokenValidate.IsRedircet = false;
                TokenValidate.Validate();

                //begin
                this.ssoFunc();
                //Response.Redirect(ReturnUrl, true);
                //end
            }
            else       // 未有绑定关系 (可能有号百账号-则去绑定,可能没有号百账号,则注册)
            {
                string SelectOauthAssertion = System.Configuration.ConfigurationManager.AppSettings["SelectOauthAssertion"];
                SelectOauthAssertion = SelectOauthAssertion + "?code=" + openid + "&returnUrl=" + ReturnUrl + "&oauthtype=0"; // 0 代表qq 1代表sina
                Response.Redirect(SelectOauthAssertion, true);                                                                //SelectOauthAssertion 指向地址:    http://sso.besttone.cn/SSO/boundingV2.action?code=***&returnUrl=***
                //boundingV2.action 会forward到 他自己的一个auth.jsp ,这个jsp会嵌入两个iframe,其中一个iframe的src,指向客户信息平台的AuthBindLogin.aspx,另个iframe指向 客户信息平台的AuthRegister.aspx
                //同时分别带上SPTokenRequest和code参数,这个SPTokenRequest参数中的ReturnUrl
            }
        }


        log(strLog.ToString());
    }
Beispiel #20
0
    protected void btnlogin_Click(object sender, EventArgs e)
    {
        string AuthenType = ddlAuthenTypeList.SelectedValue;

        PageUtility.SetCookie("AuthenType", AuthenType, 168);           //168个小时,即一个礼拜
        string AuthenName  = txtUsername.Text;
        string Password    = txtPassword.Text;
        string CustID      = "";
        string RealName    = "";
        string NickName    = "";
        string UserName    = "";
        string OutID       = "";
        string UserAccount = "";
        string ErrMsg      = "";
        string CustType    = "";
        string ProvinceID  = "";
        int    Result      = 1;

        if (!CommonUtility.ValidateValidateCode(HttpUtility.HtmlDecode(Request.Form["code"].ToString().Trim().ToUpper()), this.Context))
        {
            err_code.InnerHtml = "验证码错误,请重新输入";

            return;
        }

        //日志
        log(String.Format("【开始验证】:SPID:{0},ProvinceID:{1},AuthenName:{2},AuthenType:{3}", SPID, ProvinceID, AuthenName, AuthenType));

        Result = BTForBusinessSystemInterfaceRules.UserAuthV2(SPID, AuthenName, AuthenType, Password, Context, ProvinceID, "", "",
                                                              out ErrMsg, out CustID, out UserAccount, out CustType, out OutID, out ProvinceID, out RealName, out UserName, out NickName);
        //验证结果日志
        log(String.Format("【验证结果】:CustID:{0},UserAcount:{1},CustType:{2},OutID:{3},ProvinceID:{4},RealName:{5},UserName:{6},NickName:{7}",
                          CustID, UserAccount, CustType, OutID, ProvinceID, RealName, UserName, NickName));
        CommonBizRules.WriteDataCustAuthenLog(SPID, CustID, ProvinceID, AuthenType, AuthenName, "2", Result, ErrMsg);
        if (Result != 0)
        {
            if (Result == 1001 || Result == -20504 || Result == -21553)
            {
                err_Username.InnerHtml  = ErrMsg;
                hint_Username.InnerHtml = "";
                return;
            }

            if (Result == -21501)
            {
                err_Password.InnerHtml = ErrMsg;
                return;
            }
            Response.Write(ErrMsg);
            return;
        }

        SPInfoManager spInfo = new SPInfoManager();
        Object        SPData = spInfo.GetSPData(this.Context, "SPData");
        string        key    = spInfo.GetPropertyBySPID("35000000", "SecretKey", SPData);

        //生成token并保存
        UserToken UT             = new UserToken();
        string    UserTokenValue = UT.GenerateUserToken(CustID, RealName, UserName, NickName, OutID, CustType, AuthenName, AuthenType, key, out ErrMsg);
        string    CookieName     = System.Configuration.ConfigurationManager.AppSettings["CookieName"];

        PageUtility.SetCookie(UserTokenValue, CookieName, this.Page);

        TokenValidate.IsRedircet = false;

        TokenValidate.Validate();

        this.ssoFunc();
    }
Beispiel #21
0
    protected void btn_OK_Click(object sender, EventArgs e)
    {
        if (CommonBizRules.IsUrlParams(HttpContext.Current.Request.Url.OriginalString))
        {
            SPID      = HttpUtility.HtmlDecode(Request.QueryString["SPID"].ToString());
            ReturnUrl = HttpUtility.HtmlDecode(Request.QueryString["ReturnUrl"].ToString());
        }

        if (!CommonUtility.ValidateValidateCode(HttpUtility.HtmlDecode(Request.Form["code"].ToString().Trim().ToUpper()), this.Context))
        {
            err_code.InnerHtml = "验证码错误,请重新输入";
            return;
        }
        //TokenValidate.IsRedircet = false;
        TokenValidate.Validate();
        CustID = TokenValidate.CustID;

        OldPwd    = Request.Form["oldPasswd"].ToString().Trim();
        VerifyPwd = Request.Form["verifyPasswd"].ToString().Trim();

        //语言密码为空
        if (PassWordBO.VoicePwdIsNull(CustID, out ErrMsg))
        {
            Label1.Text = "输入登录密码";
            if (!PassWordBO.OldPwdIsRight(CustID, OldPwd, "2", out ErrMsg))
            {
                //CommonBizRules.ErrorHappenedRedircet(-1, ErrMsg, "修改语音密码", this.Context);
                err_code.InnerHtml = "";
                error.InnerHtml    = "原始密码错误";
                return;
            }
            else
            {
                string ErrMsgSetPwd = "";
                int    Result       = PassWordBO.SetPassword(SPID, CustID, VerifyPwd, "1", "", out ErrMsgSetPwd);
                if (Result != 0)
                {
                    CommonBizRules.ErrorHappenedRedircet(Result, ErrMsgSetPwd, "修改语音密码", this.Context);
                }
                CommonBizRules.SuccessRedirect(ReturnUrl, "修改语音密码成功", this.Context);
            }
        }
        else
        {
            if (!PassWordBO.OldPwdIsRight(CustID, OldPwd, "1", out ErrMsg))
            {
                //CommonBizRules.ErrorHappenedRedircet(-1, ErrMsg, "修改语音密码", this.Context);
                error.InnerHtml = "原始密码错误";
                return;
            }
            else
            {
                string ErrMsgSetPwd = "";
                int    Result       = PassWordBO.SetPassword(SPID, CustID, VerifyPwd, "1", "", out ErrMsgSetPwd);
                if (Result != 0)
                {
                    CommonBizRules.ErrorHappenedRedircet(Result, ErrMsgSetPwd, "修改语音密码", this.Context);
                }
                CommonBizRules.SuccessRedirect(ReturnUrl, "修改语音密码成功", this.Context);
            }
        }
    }
Beispiel #22
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //bool IsHttps = HttpContext.Current.Request.IsSecureConnection;
        //if (!IsHttps)
        //{

        //    String AbsoluteUri = HttpContext.Current.Request.Url.AbsoluteUri;     //http://localhost/CIP2UserPortal/SSO/YiYou_Login.aspx
        //    if (AbsoluteUri.Contains("8081"))
        //    {
        //        Response.Redirect("https://customer.besttone.com.cn:8443/SSO/YiYou_Login.aspx?SPTokenRequest=" + Request["SPTokenRequest"]);
        //    }
        //    else
        //    {
        //        Response.Redirect("https://customer.besttone.com.cn/UserPortal/SSO/YiYou_Login.aspx?SPTokenRequest=" + Request["SPTokenRequest"]);
        //    }
        //}

        Response.AddHeader("P3P", "CP=CAO PSA OUR");

        if (Request.Cookies.Get("LoginTabCookie") != null)
        {
            LoginTabCookieValue = Request.Cookies.Get("LoginTabCookie").Value;
        }

        StringBuilder strLog = new StringBuilder();

        //判断并解析SPTokenRequest参数
        ParseSPTokenRequest();
        //生成udb请求参数,注意CreateUdbPassportLoginRequest()方法必须放在ParseSPTokenRequst()后面
        String UDBorUnifyPlatform = System.Configuration.ConfigurationManager.AppSettings["UDBorUnifyPlatform"];

        if (!String.IsNullOrEmpty(UDBorUnifyPlatform))
        {
            if (UDBorUnifyPlatform.ToLower().Equals("unifyplatform"))
            {
                CreateUnifyPlatformLoginRequest();
            }
            else
            {
                CreateUdbPassportLoginRequest();
            }
        }
        else
        {
            CreateUdbPassportLoginRequest();
        }
        //login189Url = Request["login189Url"];
        //已登录流程
        TokenValidate.IsRedircet = false;
        TokenValidate.Validate();
        if (TokenValidate.Result == 0)
        {
            this.ssoFunc();
        }
        else if (CommonUtility.IsParameterExist("NeedLogin", this.Page))
        {
            //不需要客户认证平台登陆
            if (!"0".Equals(Request["NeedLogin"]))
            {
                Response.Redirect(ReturnURL + "?NeedLogin=1");
            }
        }
    }
Beispiel #23
0
    protected void Submit1_Click(object sender, EventArgs e)
    {
        Response.AddHeader("P3P", "CP=CAO PSA OUR");
        string AuthenType = HttpUtility.HtmlDecode(Request.Form["AuthenType"].ToString().Trim().ToUpper());

        strLog.AppendFormat("AuthenType:{0}\r\n", AuthenType);
        PageUtility.SetCookie("AuthenType", AuthenType, 168);           //168个小时,即一个礼拜
        string AuthenName  = Request.Form["username"];
        string Password    = Request.Form["password"];
        string CustID      = "";
        string RealName    = "";
        string NickName    = "";
        string UserName    = "";
        string OutID       = "";
        string UserAccount = "";
        string CustType    = "";
        string ProvinceID  = UAProvinceID;

        try {
            strLog.AppendFormat("checkCode={0}", Request.Form["checkCode"]);
            if (!CommonUtility.ValidateValidateCode(HttpUtility.HtmlDecode(Request.Form["checkCode"].ToString().Trim()), this.Context))
            {
                errorHint.InnerHtml = "验证码错误,请重新输入";
                return;
            }
            strLog.Append("验证码校验通过\r\n");
            strLog.AppendFormat("【开始验证】:SPID:{0},ProvinceID:{1},AuthenName:{2},AuthenType:{3}\r\n", SPID, ProvinceID, AuthenName, AuthenType);
            Result = UserAuthV2(SPID, AuthenName, AuthenType, Password, Context, ProvinceID, "", "",
                                out ErrMsg, out CustID, out UserAccount, out CustType, out OutID, out ProvinceID, out RealName, out UserName, out NickName);
            //验证结果日志
            strLog.AppendFormat("【验证结果】:CustID:{0},UserAcount:{1},CustType:{2},OutID:{3},ProvinceID:{4},RealName:{5},UserName:{6},NickName:{7},Result:{8},ErrMsg:{9}\r\n",
                                CustID, UserAccount, CustType, OutID, ProvinceID, RealName, UserName, NickName, Result, ErrMsg);
            CommonBizRules.WriteDataCustAuthenLog(SPID, CustID, ProvinceID, AuthenType, AuthenName, "2", Result, ErrMsg);
            if (Result != 0)
            {
                if (Result == 1001 || Result == -20504 || Result == -21553)
                {
                    errorHint.InnerHtml = ErrMsg;
                    //hint_Username.InnerHtml = "";
                    return;
                }

                if (Result == -21501)
                {
                    errorHint.InnerHtml = ErrMsg;
                    return;
                }
                Response.Write(ErrMsg);
                return;
            }

            SPInfoManager spInfo = new SPInfoManager();
            Object        SPData = spInfo.GetSPData(this.Context, "SPData");
            string        key    = spInfo.GetPropertyBySPID("35000000", "SecretKey", SPData);

            //生成token并保存
            UserToken UT             = new UserToken();
            string    UserTokenValue = UT.GenerateUserToken(CustID, RealName, UserName, NickName, OutID, CustType, AuthenName, AuthenType, key, out ErrMsg);
            string    CookieName     = System.Configuration.ConfigurationManager.AppSettings["CookieName"];
            //PageUtility.SetCookie(UserTokenValue, CookieName, this.Page);
            PageUtility.SetCookie(CookieName, UserTokenValue);

            TokenValidate.IsRedircet = false;

            TokenValidate.Validate();

            this.ssoFunc();
        }
        catch (System.Exception ex)
        {
            strLog.AppendFormat(ex.ToString() + "\r\n");
        }finally{
            log(strLog.ToString());
        }
    }
Beispiel #24
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //bool IsHttps = HttpContext.Current.Request.IsSecureConnection;
        //if (!IsHttps)
        //{

        //    String AbsoluteUri = HttpContext.Current.Request.Url.AbsoluteUri;     //http://localhost/CIP2UserPortal/SSO/YiYou_Login.aspx
        //    if (AbsoluteUri.Contains("8081"))
        //    {
        //        Response.Redirect("https://customer.besttone.com.cn:8443/SSO/YiYou_Login.aspx?SPTokenRequest=" + Request["SPTokenRequest"]);
        //    }
        //    else
        //    {
        //        Response.Redirect("https://customer.besttone.com.cn/UserPortal/SSO/YiYou_Login.aspx?SPTokenRequest=" + Request["SPTokenRequest"]);
        //    }
        //}

        Response.AddHeader("P3P", "CP=CAO PSA OUR");

        if (Request.Cookies.Get("LoginTabCookie") != null)
        {
            LoginTabCookieValue = Request.Cookies.Get("LoginTabCookie").Value;
        }

        StringBuilder strLog = new StringBuilder();

        //判断并解析SPTokenRequest参数
        ParseSPTokenRequest();
        //生成udb请求参数,注意CreateUdbPassportLoginRequest()方法必须放在ParseSPTokenRequst()后面
        String UDBorUnifyPlatform = String.Empty;

        try
        {
            SqlConnection conn = new SqlConnection(DBUtility.BestToneCenterConStr);
            StringBuilder sql  = new StringBuilder();
            sql.Append("select platform_name from udb_authen_platform where flag=1 ");   // 1生效  0 失效
            SqlCommand cmd = new SqlCommand(sql.ToString(), conn);
            using (conn)
            {
                conn.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    UDBorUnifyPlatform = (String)reader["platform_name"];
                }
            }
        }
        catch (Exception ex)
        {
            UDBorUnifyPlatform = System.Configuration.ConfigurationManager.AppSettings["UDBorUnifyPlatform"];
        }
        strLog.AppendFormat("UDBorUnifyPlatform:{0}", UDBorUnifyPlatform);
        log(strLog.ToString());
        if (!String.IsNullOrEmpty(UDBorUnifyPlatform))
        {
            if (UDBorUnifyPlatform.ToLower().Equals("unifyplatform"))
            {
                CreateUnifyPlatformLoginRequest();
            }
            else
            {
                CreateUdbPassportLoginRequest();
            }
        }
        else
        {
            CreateUdbPassportLoginRequest();
        }
        //login189Url = Request["login189Url"];
        //已登录流程
        TokenValidate.IsRedircet = false;
        TokenValidate.Validate();
        if (TokenValidate.Result == 0)
        {
            this.ssoFunc();
        }
        else if (CommonUtility.IsParameterExist("NeedLogin", this.Page))
        {
            //不需要客户认证平台登陆
            if (!"0".Equals(Request["NeedLogin"]))
            {
                Response.Redirect(ReturnURL + "?NeedLogin=1");
            }
        }
    }
Beispiel #25
0
    protected void auth_Click(object sender, EventArgs e)
    {
        string AuthenType = HttpUtility.HtmlDecode(Request.Form["AuthenType"].ToString().Trim().ToUpper());         //获取认证类型
        string password   = Request.Form["password"].ToString().Trim();
        string username   = Request.Form["username"].ToString().Trim();

        // 按照模式匹配出,认证模式 (手机,用户名,商旅卡,邮箱)认证
        // 如果认证通过,返回custid
        // 绑定 custid和openid

        PageUtility.SetCookie("AuthenType", AuthenType, 168);           //168个小时,即一个礼拜
        string AuthenName  = username;
        string Password    = password;
        string CustID      = "";
        string RealName    = "";
        string NickName    = "";
        string UserName    = "";
        string OutID       = "";
        string UserAccount = "";
        string CustType    = "";
        string ProvinceID  = "";
        string ErrMsg      = "";
        int    Result;

        //日志
        log(String.Format("【开始验证】:SPID:{0},ProvinceID:{1},AuthenName:{2},AuthenType:{3}", SPID, ProvinceID, AuthenName, AuthenType));

        Result = BTForBusinessSystemInterfaceRules.UserAuthV2(SPID, AuthenName, AuthenType, Password, Context, ProvinceID, "", "",
                                                              out ErrMsg, out CustID, out UserAccount, out CustType, out OutID, out ProvinceID, out RealName, out UserName, out NickName);
        //验证结果日志
        log(String.Format("【验证结果】:CustID:{0},UserAcount:{1},CustType:{2},OutID:{3},ProvinceID:{4},RealName:{5},UserName:{6},NickName:{7}",
                          CustID, UserAccount, CustType, OutID, ProvinceID, RealName, UserName, NickName));
        CommonBizRules.WriteDataCustAuthenLog(SPID, CustID, ProvinceID, AuthenType, AuthenName, "2", Result, ErrMsg);
        if (Result != 0)
        {
            if (Result == 1001 || Result == -20504 || Result == -21553)
            {
                errorHint.InnerHtml = ErrMsg;
                return;
            }

            if (Result == -21501)
            {
                errorHint.InnerHtml = ErrMsg;
                return;
            }
            Response.Write(ErrMsg);
            return;
        }

        // 绑定custid 和code关系   begin
        string        _connectionString = WebConfigurationManager.ConnectionStrings["BestToneCenterConStr"].ConnectionString;
        int           result            = -1;
        SqlConnection con = new SqlConnection(_connectionString);
        SqlCommand    cmd = new SqlCommand("insert into oauthaccount (openid,custid,createtime,status) values (@code,@CustID,getdate(),@oauthtype)", con);

        cmd.Parameters.Add("@code", SqlDbType.NVarChar, 50).Value     = code;
        cmd.Parameters.Add("@CustID", SqlDbType.NVarChar, 16).Value   = CustID;
        cmd.Parameters.Add("@oauthtype", SqlDbType.NVarChar, 1).Value = oauthtype;

        using (con)
        {
            con.Open();
            result = cmd.ExecuteNonQuery();
        }
        //end
        if (result != 0)
        {
            errorHint.InnerHtml = "绑定关系建立失败";
            return;
        }

        SPInfoManager spInfo = new SPInfoManager();
        Object        SPData = spInfo.GetSPData(this.Context, "SPData");
        string        key    = spInfo.GetPropertyBySPID("35000000", "SecretKey", SPData);

        //生成token并保存
        UserToken UT             = new UserToken();
        string    UserTokenValue = UT.GenerateUserToken(CustID, RealName, UserName, NickName, OutID, CustType, AuthenName, AuthenType, key, out ErrMsg);
        string    CookieName     = System.Configuration.ConfigurationManager.AppSettings["CookieName"];

        //PageUtility.SetCookie(UserTokenValue, CookieName, this.Page);
        PageUtility.SetCookie(CookieName, UserTokenValue);
        TokenValidate.IsRedircet = false;
        TokenValidate.Validate();
        this.ssoFunc();
    }