예제 #1
0
        private void rptUnInstalled_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var thirdLoginType = (EThirdLoginType)e.Item.DataItem;

                foreach (var thirdLoginInfo in _thirdLoginInfoList)
                {
                    if (thirdLoginInfo.ThirdLoginType == thirdLoginType)
                    {
                        e.Item.Visible = false;
                        return;
                    }
                }

                var ltlThirdLoginName = e.Item.FindControl("ltlThirdLoginName") as Literal;
                var ltlDescription    = e.Item.FindControl("ltlDescription") as Literal;
                var ltlInstallUrl     = e.Item.FindControl("ltlInstallUrl") as Literal;

                if (ltlThirdLoginName != null)
                {
                    ltlThirdLoginName.Text = EThirdLoginTypeUtils.GetText(thirdLoginType);
                }
                if (ltlDescription != null)
                {
                    ltlDescription.Text = EThirdLoginTypeUtils.GetDescription(thirdLoginType);
                }

                var urlInstall = GetRedirectUrl() + $"?isInstall=True&thirdLoginType={EThirdLoginTypeUtils.GetValue(thirdLoginType)}";
                if (ltlInstallUrl != null)
                {
                    ltlInstallUrl.Text = $@"<a href=""{urlInstall}"">安装</a>";
                }
            }
        }
예제 #2
0
        public bool IsExists(EThirdLoginType thirdLoginType)
        {
            var exists = false;

            var parms = new IDataParameter[]
            {
                GetParameter(ParmType, EDataType.VarChar, 50, EThirdLoginTypeUtils.GetValue(thirdLoginType))
            };

            using (var rdr = ExecuteReader(SqlSelectByType, parms))
            {
                if (rdr.Read())
                {
                    exists = true;
                }
                rdr.Close();
            }

            return(exists);
        }
예제 #3
0
        public ThirdLoginInfo GetThirdLoginInfo(int thirdLoginId)
        {
            ThirdLoginInfo thirdLoginInfo = null;

            var parms = new IDataParameter[]
            {
                GetParameter(ParmId, EDataType.Integer, thirdLoginId)
            };

            using (var rdr = ExecuteReader(SqlSelectThirdlogin, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    thirdLoginInfo = new ThirdLoginInfo(GetInt(rdr, i++), EThirdLoginTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(thirdLoginInfo);
        }
예제 #4
0
        public List <ThirdLoginInfo> GetThirdLoginInfoList()
        {
            var list = new List <ThirdLoginInfo>();

            var parms = new IDataParameter[]
            {
            };

            using (var rdr = ExecuteReader(SqlSelectAllThirdlogin, parms))
            {
                while (rdr.Read())
                {
                    var i = 0;
                    var thirdLoginInfo = new ThirdLoginInfo(GetInt(rdr, i++), EThirdLoginTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                    list.Add(thirdLoginInfo);
                }
                rdr.Close();
            }

            return(list);
        }
예제 #5
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            _thirdLoginId = Body.GetQueryInt("thirdLoginID");

            if (!IsPostBack)
            {
                BreadCrumbUser(AppManager.User.LeftMenu.UserConfiguration, "授权登录管理", AppManager.User.Permission.UserConfiguration);

                //var publishmentSystemUrl = AssetsUtils.GetUrl(PageUtils.GetApiUrl(), "iframe/authLogin.html");
                var publishmentSystemUrl = string.Empty;
                ltlLoginAuthCallBackUrl.Text = "<span style='color:red;'>" + publishmentSystemUrl + "</span>";
                tbLoginAuthCallBackUrl.Text  = publishmentSystemUrl;
                if (_thirdLoginId > 0)
                {
                    var thirdLoginInfo = BaiRongDataProvider.ThirdLoginDao.GetThirdLoginInfo(_thirdLoginId);
                    if (thirdLoginInfo != null)
                    {
                        tbThirdLoginName.Text  = thirdLoginInfo.ThirdLoginName;
                        ltlThirdLoginType.Text = EThirdLoginTypeUtils.GetText(thirdLoginInfo.ThirdLoginType);

                        var authInfo = new ThirdLoginAuthInfo(thirdLoginInfo.SettingsXml);

                        phLoginAuth.Visible         = true;
                        tbLoginAuthAppKey.Text      = authInfo.AppKey;
                        tbLoginAuthAppSercet.Text   = authInfo.AppSercet;
                        tbLoginAuthCallBackUrl.Text = authInfo.CallBackUrl;

                        breDescription.Text = thirdLoginInfo.Description;
                    }
                }
            }
        }
예제 #6
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            if (Body.IsQueryExists("isInstall") && Body.IsQueryExists("thirdLoginType"))
            {
                var thirdLoginType = EThirdLoginTypeUtils.GetEnumType(Body.GetQueryString("thirdLoginType"));

                if (!BaiRongDataProvider.ThirdLoginDao.IsExists(thirdLoginType))
                {
                    //安装之后,默认不可用
                    var thirdLoginInfo = new ThirdLoginInfo(0, thirdLoginType, EThirdLoginTypeUtils.GetText(thirdLoginType), false, 0, EThirdLoginTypeUtils.GetDescription(thirdLoginType), string.Empty);

                    BaiRongDataProvider.ThirdLoginDao.Insert(thirdLoginInfo);
                    //安装之后,直接跳转到设置页面
                    Response.Redirect(PageThirdLoginConfiguration.GetRedirectUrl((int)thirdLoginType));
                    //base.SuccessMessage("登录方式安装成功");
                }
            }
            else if (Body.IsQueryExists("isDelete") && Body.IsQueryExists("thirdLoginID"))
            {
                var thirdLoginId = Body.GetQueryInt("thirdLoginID");
                if (thirdLoginId > 0)
                {
                    BaiRongDataProvider.ThirdLoginDao.Delete(thirdLoginId);
                    SuccessMessage("登录方式删除成功");
                }
            }
            else if (Body.IsQueryExists("isEnable") && Body.IsQueryExists("thirdLoginID"))
            {
                var thirdLoginId = Body.GetQueryInt("thirdLoginID");
                if (thirdLoginId > 0)
                {
                    var thirdLoginInfo = BaiRongDataProvider.ThirdLoginDao.GetThirdLoginInfo(thirdLoginId);
                    if (thirdLoginInfo != null)
                    {
                        var authInfo = new ThirdLoginAuthInfo(thirdLoginInfo.SettingsXml);
                        if (string.IsNullOrEmpty(authInfo.AppKey) || string.IsNullOrEmpty(authInfo.AppSercet) || string.IsNullOrEmpty(authInfo.CallBackUrl))
                        {
                            FailMessage("请先对第三方登录方式进行设置,设置之后才能启用!");
                        }
                        else
                        {
                            var action = thirdLoginInfo.IsEnabled ? "禁用" : "启用";
                            thirdLoginInfo.IsEnabled = !thirdLoginInfo.IsEnabled;
                            BaiRongDataProvider.ThirdLoginDao.Update(thirdLoginInfo);
                            SuccessMessage($"成功{action}登录方式");
                        }
                    }
                }
            }
            else if (Body.IsQueryExists("setTaxis"))
            {
                var thirdLoginId = Body.GetQueryInt("thirdLoginID");
                var direction    = Body.GetQueryString("direction");
                if (thirdLoginId > 0)
                {
                    switch (direction.ToUpper())
                    {
                    case "UP":
                        BaiRongDataProvider.ThirdLoginDao.UpdateTaxisToUp(thirdLoginId);
                        break;

                    case "DOWN":
                        BaiRongDataProvider.ThirdLoginDao.UpdateTaxisToDown(thirdLoginId);
                        break;
                    }
                    SuccessMessage("排序成功!");
                    AddWaitAndRedirectScript(GetRedirectUrl());
                }
            }

            if (!IsPostBack)
            {
                BreadCrumbUser(AppManager.User.LeftMenu.UserConfiguration, "授权登录管理", AppManager.User.Permission.UserConfiguration);

                _thirdLoginInfoList = BaiRongDataProvider.ThirdLoginDao.GetThirdLoginInfoList();

                rptInstalled.DataSource     = _thirdLoginInfoList;
                rptInstalled.ItemDataBound += rptInstalled_ItemDataBound;
                rptInstalled.DataBind();

                rptUnInstalled.DataSource     = EThirdLoginTypeUtils.GetEThirdLoginTypeList();
                rptUnInstalled.ItemDataBound += rptUnInstalled_ItemDataBound;
                rptUnInstalled.DataBind();
            }
        }
예제 #7
0
        public void SetDefaultThirdLogin()
        {
            ExecuteNonQuery("DELETE FROM bairong_ThirdLogin;");
            var sbSql = new StringBuilder();

            sbSql.AppendFormat("INSERT INTO bairong_ThirdLogin (ThirdLoginType, ThirdLoginName, IsEnabled,  Taxis, Description, SettingsXML) VALUES ( '{0}', '{1}', 'False', 1, '{2}', '');", EThirdLoginTypeUtils.GetValue(EThirdLoginType.QQ), EThirdLoginTypeUtils.GetText(EThirdLoginType.QQ), EThirdLoginTypeUtils.GetDescription(EThirdLoginType.QQ));
            sbSql.AppendFormat("INSERT INTO bairong_ThirdLogin (ThirdLoginType, ThirdLoginName, IsEnabled,  Taxis, Description, SettingsXML) VALUES ( '{0}', '{1}', 'False', 2, '{2}', '');", EThirdLoginTypeUtils.GetValue(EThirdLoginType.Weibo), EThirdLoginTypeUtils.GetText(EThirdLoginType.Weibo), EThirdLoginTypeUtils.GetDescription(EThirdLoginType.Weibo));
            sbSql.AppendFormat("INSERT INTO bairong_ThirdLogin (ThirdLoginType, ThirdLoginName, IsEnabled,  Taxis, Description, SettingsXML) VALUES ( '{0}', '{1}', 'False', 3, '{2}', '');", EThirdLoginTypeUtils.GetValue(EThirdLoginType.WeixinPC), EThirdLoginTypeUtils.GetText(EThirdLoginType.WeixinPC), EThirdLoginTypeUtils.GetDescription(EThirdLoginType.WeixinPC));
            ExecuteNonQuery(sbSql.ToString());
        }
예제 #8
0
        public int Insert(ThirdLoginInfo thirdLoginInfo)
        {
            int thirdLoginId;

            var sqlString = "INSERT INTO bairong_ThirdLogin (ThirdLoginType, ThirdLoginName, IsEnabled,  Taxis, Description, SettingsXML) VALUES ( @ThirdLoginType, @ThirdLoginName, @IsEnabled,@Taxis, @Description, @SettingsXML)";

            var taxis = GetMaxTaxis() + 1;

            IDataParameter[] parms =
            {
                GetParameter(ParmType,        EDataType.VarChar,                           50, EThirdLoginTypeUtils.GetValue(thirdLoginInfo.ThirdLoginType)),
                GetParameter(ParmName,        EDataType.NVarChar,                          50, thirdLoginInfo.ThirdLoginName),
                GetParameter(ParmIsEnabled,   EDataType.VarChar,                           18, thirdLoginInfo.IsEnabled.ToString()),
                GetParameter(ParmTaxis,       EDataType.Integer,  taxis),
                GetParameter(ParmDescription, EDataType.NText,    thirdLoginInfo.Description),
                GetParameter(ParmSettingsXml, EDataType.NText,    thirdLoginInfo.SettingsXml)
            };

            using (var conn = GetConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        thirdLoginId = ExecuteNonQueryAndReturnId(trans, sqlString, parms);
                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }

            return(thirdLoginId);
        }