Esempio n. 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            if (!IsPostBack)
            {
                codeSource.Text  = StationGroup.CodeSourceUrl;
                zipSavePath.Text = StationGroup.ZipSavePath;

                serverIP.Text = enHelper.GetServerIP();

                dt = iisHelper.GetWebSiteList();
                siteListDP.DataSource     = dt;
                siteListDP.DataTextField  = "siteName";
                siteListDP.DataValueField = "siteName";
                siteListDP.DataBind();
                siteListDP.Items.Insert(0, "请选择站点");
                siteListDP.Items.Insert(1, "新建站点");
                siteListDP.Items[1].Attributes["style"] = "color:red;";
                if (!string.IsNullOrEmpty(Request.QueryString["siteName"]))
                {
                    siteListDP.SelectedValue = Request.QueryString["siteName"];
                    setupBtn.Style.Remove("display");
                }
            }
            Call.HideBread(Master);
        }
Esempio n. 2
0
        private void Login_Click(object sender, System.EventArgs e)
        {
            using (IdentityAnalogue ID = new IdentityAnalogue())
            {
                if (ID.TryLogonAs(".", UserName.Text, Password.Text))
                {
                    string userName = UserName.Text;
                    FormsAuthentication.SetAuthCookie(userName, false);

                    string returnUrl;
                    if (this.Request.Cookies[Global.ReturnUrl] == null)
                    {
                        returnUrl = this.Request.ApplicationPath;
                    }
                    else
                    {
                        returnUrl = this.Request.Cookies[Global.ReturnUrl].Value;
                    }
                    this.Response.Redirect(returnUrl);
                }
                else
                {
                    lblMsg.Visible = true;
                    lblMsg.Text    = "*µÇ¼ʧ°Ü";
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            B_Admin.CheckIsLogged();
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            if (!IsPostBack)
            {
                SiteDPBind();
                if (string.IsNullOrEmpty(Request.QueryString["ID"]))//添加与浏览
                {
                    DataBind();
                    dbPwdT.Text = function.GeneratePasswd();
                }
                else
                {
                    dbMod = dbBll.SelReturnModel(Request.QueryString["ID"]);
                    addBtn_Click(null, null);
                    dbNameT.Text             = dbMod.DBName;
                    dbUserT.Text             = dbMod.DBUser;
                    dbPwdT.Text              = dbMod.DBInitPwd;
                    bindUserT.Text           = dbMod.UserName;
                    bindUserD.Value          = dbMod.UserID.ToString();
                    bindDomT.Text            = dbMod.Remind;
                    bindSiteDP.SelectedValue = dbMod.SiteID.ToString();
                    saveBtn.Text             = "修改";
                }
            }
            Call.HideBread(Master);
        }
Esempio n. 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            if (function.isAjax())
            {
                string[] urlArr   = Request.Form["value"].Split(',');
                string   jsonData = "[";
                if (urlArr.Length > 0 && !Request.Form["value"].Contains("式"))
                {
                    for (int i = 0; i < urlArr.Length; i++)
                    {
                        if (!urlArr[i].ToLower().Contains("http://"))
                        {
                            urlArr[i] = "http://" + urlArr[i];
                        }
                        string siteName = GetSiteNameByUrl(urlArr[i]);
                        jsonData += "{\"url\":\"" + urlArr[i] + "\",\"siteName\":\"" + siteName + "\"},";
                    }
                    jsonData  = jsonData.TrimEnd(',');
                    jsonData += "]";
                    Response.Write(jsonData);
                    Response.Flush();
                }
                Response.End();
            }

            if (!IsPostBack)
            {
                siteRepeater.DataSource = iisHelper.GetWebSiteList(true);
                siteRepeater.DataBind();
            }
            Call.HideBread(Master);
        }
Esempio n. 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            siteName = Server.UrlDecode(Request.Params["siteName"]);
            siteID   = Request.QueryString["siteID"];
            //SiteID无法获取到对应的,只能通过名字来访问了,ID需要通过循环遍历
            EGV.txtFunc = txtPageFunc;

            if ((string.IsNullOrEmpty(siteName) || iis.Sites[siteName] == null) && string.IsNullOrEmpty(siteID))
            {
                function.WriteErrMsg("未选择站点或要访问的站点不存在!!");
            }
            if (string.IsNullOrEmpty(siteID))
            {
                siteID = iis.Sites[siteName].Id.ToString();
            }
            else
            {
                siteName = iisHelper.GetNameBySiteID(siteID);
            }
            if (string.IsNullOrEmpty(siteName))
            {
                function.WriteErrMsg("未选择站 点或要访问的站点不存在!");
            }
            if (!IsPostBack)
            {
                DataBind("");
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["Token"]))//直接进入,带用户名与密码
            {
                if (Application["SiteToken"] == null || !Application["SiteToken"].ToString().Equals(Request.QueryString["Token"]))
                {
                    function.WriteErrMsg("Token不正确");
                }
                string      a    = Application["SiteUser"] as string;
                string      p    = Application["SitePasswd"] as string;
                M_AdminInfo info = B_Admin.AuthenticateAdmin(a, p);
                badmin.SetLoginState(info);
                Application.Clear();
                Response.Redirect("Default.aspx?remote=true");
                Response.End();
            }
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            siteName = Server.UrlDecode(Request.Params["siteName"]);
            //ia.UndoImpersonation();//恢复为当前用户,当然关闭页面效果相同
            if (function.isAjax())
            {
                ProcAjax();
            }
            if (!IsPostBack)
            {
                Call.SetBreadCrumb(Master, "<li><a href='" + CustomerPageAction.customPath2 + "Main.aspx'>工作台</a></li><li><a href='Default.aspx'>站群管理</a></li>");
                int totalSite   = iis.Sites.Count;//Default WebSite不算
                int startedSite = iisHelper.GetSiteCountByState(0);
                int stoppedSite = iisHelper.GetSiteCountByState(1);

                int zoomlaSite    = iisHelper.GetWebSiteList(true).Rows.Count;
                int zoomlaStarted = iisHelper.GetSiteCountByState(0, true);
                int zoomlaStopped = iisHelper.GetSiteCountByState(1, true);

                titleSpan.InnerText = string.Format(titleSpan.InnerText, totalSite, startedSite, stoppedSite, zoomlaSite, zoomlaStarted, zoomlaStopped);
                //远程加载该页面
                if (string.IsNullOrEmpty(Request.QueryString["remote"]))
                {
                    DataTable dt = new DataTable();
                    dt = SqlHelper.ExecuteTable(CommandType.Text, "Select * From ZL_IDC_Server");
                    serverList.DataSource     = dt;
                    serverList.DataTextField  = "SiteName";
                    serverList.DataValueField = "ID";
                    serverList.DataBind();
                    serverList.Items.Insert(0, new ListItem("本地", "0"));
                    serverList.Items.Insert(dt.Rows.Count + 1, new ListItem("添加服务器集群", "add"));
                }
                else
                {
                    serverDiv.Visible = false;
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            siteName = Request["siteName"];
            if (!IsPostBack)
            {
                DataBind(siteName);
            }
        }
Esempio n. 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            clientID  = StationGroup.newNetClientID;
            apiPasswd = StationGroup.newNetApiPasswd;
            if (!IsPostBack)
            {
                Call.SetBreadCrumb(Master, "<li><a href='" + CustomerPageAction.customPath2 + "Main.aspx'>工作台</a></li><li><a href='Default.aspx'>站群管理</a></li><li class='active'>域名管理</li>");
                DataBind();
            }
        }
Esempio n. 9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            if (function.isAjax())
            {
                /*
                 * 1,Empty
                 * 2,Illegal format
                 * 3,Duplicate error
                 */
                string flag = "<span style='color:green;'>*信息输入正确</span>";
                string data = Request.Form["data"];
                string mark = Request.Form["mark"];

                if (string.IsNullOrEmpty(data))
                {
                    flag = "*选项不能为空";
                }
                else if (mark == "1")//第一行,网站名称
                {
                    if (iis.Sites[data] != null)
                    {
                        flag = "*该网站名称已存在";
                    }
                }
                else if (mark == "2")
                {
                    if (!Directory.Exists(data))
                    {
                        flag = "*目录不存在,或路径不正确()";
                    }
                }
                else if (mark == "3")//Detected Port,Must be a Numeric and unoccupied
                {
                    int t = 0;
                    if (!Int32.TryParse(data, out t))
                    {
                        flag = "*端口只能为数字";
                    }
                }
                else if (mark == "4")
                {
                }
                Response.Write(flag); Response.Flush(); Response.End();
            }
            Call.HideBread(Master);
        }
Esempio n. 10
0
        /// <summary>
        /// 以管理员身份运行相关代码
        /// </summary>
        /// <param name="exec"></param>
        /// <returns></returns>
        public static bool RunAdminCode(ExecuteCode exec)
        {
            bool blnResult = false;

            using (IdentityAnalogue ID = new IdentityAnalogue())
            {
                if (ID.TryLogonAs(".", ConfigurationManager.AppSettings["AnalogueID"],
                                  new SymmetricMethod().Decrypto(ConfigurationManager.AppSettings["AnaloguePWD"])))
                {
                    exec();
                    blnResult = true;
                }
            }
            return(blnResult);
        }
Esempio n. 11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            if (string.IsNullOrEmpty(Request.QueryString["siteName"]))
            {
                function.WriteErrMsg("站点名不能为空");
            }
            siteName = Request.QueryString["siteName"];
            if (!IsPostBack)
            {
                DataBind(displayAll.Checked);
            }
            mimeEGV.txtFunc = txtPageFunc;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            siteName = Request.QueryString["siteName"];
            if (string.IsNullOrEmpty(siteName))
            {
                function.WriteErrMsg("未选择站点");
            }
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            if (!IsPostBack)
            {
                TextBind();
                DataBind();
            }
            Call.HideBread(Master);
        }
        protected void sureBtn_Click(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            if (ia.CheckEnableSA(false))
            {
                site.SiteName     = domNameL.Text.Split('.')[0] + "_" + buser.GetLogin().UserName;
                site.Port         = "998";         //将来改为80
                site.DomainName   = domNameL.Text; // "win01"
                site.PhysicalPath = StationGroup.SitePath + site.SiteName;
                site.AppPool      = site.SiteName;
                site.dbName       = domNameL.Text.Split('.')[0];//使用用户的二级域名作为数据库名,例mysite
                site.TempName     = Request.Form["selectedTempData"].Split(':')[0];
                site.TempDir      = Request.Form["selectedTempData"].Split(':')[1];
                site.TempUrl      = serverdomain + "/Template/" + site.TempDir + ".zip";
                //iisHelper.CreateSite(site);//移往最后一步创建
            }
            Session["siteInfo"] = site;
            Response.Redirect("SiteProgress.aspx");
        }
Esempio n. 14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            siteName = Server.UrlDecode(Request.Params["siteName"]);
            //ia.UndoImpersonation();
            if (function.isAjax(Request))
            {
                string action = Request.Form["action"];
                Response.End();
            }
            if (!IsPostBack)
            {
                int poolCount    = iis.ApplicationPools.Count;
                int classicCount = iisHelper.GetPoolCountByMNS("Mode", ManagedPipelineMode.Classic.ToString());
                int integerCount = iisHelper.GetPoolCountByMNS("Mode", ManagedPipelineMode.Integrated.ToString());
                titleSpan.InnerText = string.Format(titleSpan.InnerText, poolCount, classicCount, integerCount);
            }
            Call.HideBread(Master);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            siteName = Server.UrlDecode(Request.Params["siteName"]);
            siteID   = Request.QueryString["siteID"];
            //SiteID无法获取到对应的,只能通过名字来访问了,ID需要通过循环遍历

            if ((string.IsNullOrEmpty(siteName) || iis.Sites[siteName] == null) && string.IsNullOrEmpty(siteID))
            {
                function.WriteErrMsg("未选择站点或要访问的站点不存在!!");
            }
            if (string.IsNullOrEmpty(siteID))
            {
                siteID = iis.Sites[siteName].Id.ToString();
            }
            else
            {
                siteName = iisHelper.GetNameBySiteID(siteID);
            }
            if (string.IsNullOrEmpty(siteName))
            {
                function.WriteErrMsg("未选择站 点或要访问的站点不存在!");
            }

            appName = iis.Sites[siteName].Applications[0].ApplicationPoolName;
            webPath = iis.Sites[siteName].Applications[0].VirtualDirectories[0].PhysicalPath + "\\web.config";
            //按1G的量计算剩余空间,1G=1073741824
            //piePercent = "['已用空间" + used+ "'," + (double)size / (double)banSize + "],['剩余空间',"+((double)1-(double)size / (double)banSize)+"]";//
            if (!IsPostBack)
            {
                AuthCheck();
                AsyncInvokeFunc     getSize    = getFileSize;//异步开始获取网站所占空间
                System.IAsyncResult asynResult = getSize.BeginInvoke(iis.Sites[siteName].Applications[0].VirtualDirectories[0].PhysicalPath, null, null);
                GetInfoLocal();
                piePercent = "['已用空间" + getSize.EndInvoke(asynResult) + "',1]";
            }
            Call.HideBread(Master);
        }
        //登录,因为Chrome自动填充问题,所以与IDC保存分开
        protected void logBtn_Click(object sender, EventArgs e)
        {
            string name   = adminName.Text.Trim();
            string passwd = adminPasswd.Text.Trim();

            if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(passwd))
            {
                function.Script(this, "alert('用户名和密码不能为空');");
                return;
            }
            StationGroup.EnableSA   = true;
            StationGroup.SAName     = EncryptHelper.AESEncrypt(name);
            StationGroup.SAPassWord = EncryptHelper.AESEncrypt(passwd);
            StationGroup.DefaultIP  = defaultIP.Text.Trim();
            StationGroup.Update();

            //-----更新网站列表至数据库,无则插入
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            iisHelper.SyncDB();
            //-----
            function.WriteSuccessMsg("更新成功", "Default.aspx");
        }
Esempio n. 17
0
        /// <summary>
        /// 测试原始用户名和密码是否正确
        /// </summary>
        public static bool TestAuth(string username, string password)
        {
            #region Windows集成帐户认证
            if (!IsApacheAuthMode())
            {
                bool blnResult = false;
                using (IdentityAnalogue ID = new IdentityAnalogue())
                {
                    if (ID.TryLogonAs(".", username, password))
                    {
                        blnResult = true;
                    }
                }
                return(blnResult);
            }
            #endregion

            string              url     = ConfigurationManager.AppSettings["AuthURL4Pass"];
            WebClient           wc      = new WebClient();
            WebHeaderCollection headers = new WebHeaderCollection();
            headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.8.1.19) Gecko/20081201 Firefox/2.0.0.19 (.NET CLR 3.5.30729)");
            wc.Headers = headers;

            wc.Credentials = new NetworkCredential(username, password);

            //System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(
                delegate(object o, X509Certificate cert, X509Chain chain, SslPolicyErrors errors)
            {
                return(true);
            });

            try
            {
                MemoryStream ms = new MemoryStream();
                using (Stream rms = wc.OpenRead(url))
                {
                    int bt = rms.ReadByte();
                    while (bt != -1)
                    {
                        ms.WriteByte(Convert.ToByte(bt));
                        bt = rms.ReadByte();
                    }
                    rms.Close();
                }

                //Console.WriteLine("读取响应流完成,输出响应头...");
                //for (int i = 0; i < wc.ResponseHeaders.Count; i++)
                //{
                //    Console.WriteLine("{0}:{1}", wc.ResponseHeaders.AllKeys[i], wc.ResponseHeaders[i]);
                //}
                //Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));

                ms.Close();
                ms.Dispose();

                return(true);
            }
            catch (WebException)
            {
                return(false);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            IdentityAnalogue ia = new IdentityAnalogue();

            ia.CheckEnableSA();
            //---------------指定管理员权限管理
            M_Site_SiteList siteM   = new M_Site_SiteList();
            B_Site_SiteList siteBll = new B_Site_SiteList();

            if (badmin.CheckLogin())
            {
                //如果是管理员登录则不判断
            }
            else if (buser.CheckLogin())
            {
                string siteID = iis.Sites[siteName].Id.ToString();
                //非管理员用户登录,开始判断
                siteM = siteBll.SelByUserID(buser.GetLogin().UserID.ToString());//查找有无为该用户分配权限
                if (siteM == null || !siteBll.AuthCheck(siteID, buser.GetLogin().UserID.ToString()))
                {
                    function.WriteErrMsg("你没有管理站点的权限");
                }
                this.Title = "独立控制台-文件浏览";
            }
            else
            {
                function.WriteErrMsg("无权访问该页面"); return;
            }
            //--------------

            if (function.isAjax())//删除
            {
                string[] siteInfo;
                //站点名,索引,目标文件
                string action = Request.Form["action"];
                if (action.Equals("beginDown"))//开始下载
                {
                    siteInfo = Request.Form["fullPath"].Split(':');
                    Int32.TryParse(siteInfo[1], out index);
                    StationGroup.RootPath = iis.Sites[siteInfo[0]].Applications[0].VirtualDirectories[index].PhysicalPath;
                    if (!Directory.Exists(StationGroup.RootPath + StationGroup.ZipSavePath))
                    {
                        Directory.CreateDirectory(StationGroup.RootPath + StationGroup.ZipSavePath);
                    }
                    if (File.Exists(StationGroup.RootPath + StationGroup.ZipSavePath + StationGroup.ZipName))
                    {
                        File.Delete(StationGroup.RootPath + StationGroup.ZipSavePath + StationGroup.ZipName);
                    }
                    //ThreadPool.QueueUserWorkItem(MyThreadWork, tempPath + StationGroup.ZipName);
                    ThreadPool.QueueUserWorkItem(MyThreadWork, sg);
                    Response.End();
                }
                else if (action.Equals("getProgress"))
                {
                    Response.Write(progStatus);
                    Response.End();
                }
                else if (action.Equals("getUnZipProg"))
                {
                    //根据长度 ,计算出百分比值后返回
                    Response.Write(ZipClass.GetPercent(ZipClass.unZipTotal, ZipClass.unZipProgress));
                    Response.End();
                }
                siteInfo = Request.Form["fullPath"].Split(':');
                int i = 0;
                if (siteInfo.Length < 3 || !Int32.TryParse(siteInfo[1], out i))
                {
                    Response.Write("信息错误,无法删除"); Response.Flush(); Response.End();
                }
                string path = GetPath(siteInfo[0], i, siteInfo[2]);//获取全路径
                if (action.Equals("del"))
                {
                    try
                    {
                        if (!DeleteDirAndFile(path))
                        {
                            Response.Write("文件不存在"); Response.Flush(); Response.End();
                        }
                    }
                    catch (Exception ex) { Response.Write(ex.Message); Response.Flush(); Response.End(); }//Response.Write("删除失败,目标文件正在使用或你无权限删除");
                }
                else if (action.Equals("rename"))
                {
                    string newPath = GetPath(siteInfo[0], i, "\\" + siteInfo[3]);
                    //Response.Write(siteInfo[2]+":"+siteInfo[3]);
                    if (!path.Equals(newPath))
                    {
                        RenameDirAndFile(path.Trim(), newPath.Trim());
                    }
                }
                Response.Clear();
                Response.Write(1);
                Response.Flush(); Response.End();
            }
            //----------------AJAX END;

            siteName = Server.HtmlEncode(Request.QueryString["siteName"]);
            if (string.IsNullOrEmpty(siteName) || string.IsNullOrEmpty(Request.QueryString["index"]) || iis.Sites[siteName] == null)
            {
                function.WriteErrMsg("未选择要访问的站点名或该站点不存在.");
            }
            Int32.TryParse(Request.QueryString["index"], out index);
            StationGroup.RootPath = iis.Sites[siteName].Applications[0].VirtualDirectories[index].PhysicalPath;
            if (string.IsNullOrEmpty(iis.Sites[siteName].Bindings[index].Host))
            {
                url = "http://LocalHost:" + iis.Sites[siteName].Bindings[index].EndPoint.Port;
            }
            else
            {
                url = "http://" + iis.Sites[siteName].Bindings[index].Host + ":" + iis.Sites[siteName].Bindings[index].EndPoint.Port;
            }

            if (!IsPostBack)
            {
                Call.HideBread(Master);
                Repeater1.DataSource = GetDirAndFileList();
                Repeater1.DataBind();

                string command = Request["command"];//如beginSetup开始安装等,快云安装传过来的
                if (!string.IsNullOrEmpty(command))
                {
                    switch (command)
                    {
                    case "beginSetup":
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "", "beginDown();", true);    //调用前台开始下载方法
                        break;

                    default:
                        break;
                    }
                }//Command End;
            }
        }
Esempio n. 19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            #region 管理员配置密码加解密
            if (Request["PwdGen"] != null)
            {
                Response.Write(new SymmetricMethod().Encrypto(Request["PwdGen"]));
                Response.End();
                return;
            }
            else if (Request["PwdDen"] != null)
            {
                Response.Write(new SymmetricMethod().Decrypto(Request["PwdDen"]));
                Response.End();
                return;
            }
            #endregion


            #region Test Code
            //StringBuilder sb = new StringBuilder();
            //foreach (string s in Request.Form)
            //{
            //    sb.AppendFormat("{0}={1}\n", s, Request.Form[s]);
            //}
            //foreach (string s in Request.ServerVariables)
            //{
            //    sb.AppendFormat("{0}={1}\n",s, Request.ServerVariables[s]);
            //}
            ////Response.Write(sb.ToString());

            //System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("debug.log"));
            //sw.Write(sb.ToString());
            //sw.Close();
            //sw.Dispose();

            //Response.Write("0");
            //Response.End();
            #endregion

            string username  = Request["username"];
            string oldpwd    = Request["oldpwd"];
            string newpwd    = Request["newpwd"];
            string newpwdcfm = Request["newpwdcfm"];

            string pwd    = Request["pwd"];
            string pwdcfm = Request["pwdcfm"];

            if (username == null)
            {
                Response.Write("SVN-Auth Account API Page.");
                return;
            }

            #region 禁止修改用户名处理
            if (("," + ConfigurationManager.AppSettings["DisabledModifyName"] + ",").ToLower()
                .Contains("," + username.ToLower() + ","))
            {
                Response.Write("用户名[" + username + "]已被禁止在线修改!");
                Response.End();
                return;
            }
            #endregion

            bool ApacheAuthMode = AccountHelper.IsApacheAuthMode();
            if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(oldpwd) &&
                !string.IsNullOrEmpty(newpwd) &&
                newpwd == newpwdcfm)
            {
                #region 修改密码
                bool blnResult = false;
                if (!ApacheAuthMode)
                {
                    using (IdentityAnalogue ID = new IdentityAnalogue())
                    {
                        if (ID.TryLogonAs(".", username, oldpwd))
                        {
                            blnResult = true;
                        }
                    }
                }
                else
                {
                    //blnResult = TestAuth(username, oldpwd);
                    //在修改时检查原始密码
                    blnResult = true;
                }

                if (blnResult == false)
                {
                    Response.Write("用户密码不正确!");
                }
                else
                {
                    AccountHelper.RunAdminCode(new AccountHelper.ExecuteCode(delegate()
                    {
                        if (!ApacheAuthMode)
                        {
                            string currentUser    = currentUser = Environment.MachineName + "/" + username;
                            DirectoryEntry uEntry = new DirectoryEntry("WinNT://" + currentUser);
                            try
                            {
                                uEntry.Invoke("SetPassword", newpwdcfm);
                                uEntry.CommitChanges();

                                Response.Write("0");
                            }
                            catch (Exception exp)
                            {
                                Response.Write("错误:" + exp.Message);
                            }
                        }
                        else
                        {
                            string strChangeResult = AccountHelper.ApacheChangeOrCreateAccount(username, oldpwd, newpwdcfm);
                            if (strChangeResult != "0")
                            {
                                Response.Write("错误:" + strChangeResult);
                            }
                            else
                            {
                                Response.Write("0");
                            }
                        }
                    }));
                }
                #endregion
            }
            else if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(pwd) &&
                     pwd == pwdcfm)
            {
                #region 创建账号
                if (!ApacheAuthMode)
                {
                    try
                    {
                        AccountHelper.RunAdminCode(new AccountHelper.ExecuteCode(delegate()
                        {
                            AccountHelper.CreateUserAccount(username, pwd, "",
                                                            "Users", "[SVN-WinAuth]创建的用户");
                        }));

                        Response.Write("0");
                    }
                    catch (Exception exp)
                    {
                        Response.Write("错误:" + exp.Message);
                    }
                }
                else
                {
                    string strCreateResult = AccountHelper.ApacheChangeOrCreateAccount(username, null, pwd);
                    if (strCreateResult != "0")
                    {
                        Response.Write("错误:" + strCreateResult);
                    }
                    else
                    {
                        Response.Write("0");
                    }
                }
                #endregion
            }
            else
            {
                Response.Write("请提供有效帐户信息!");
            }
            Response.End();
        }
Esempio n. 20
0
 //开始工作,下载,解压等
 public void BeginWork(IISWebSite site)
 {
     if (!string.IsNullOrEmpty(StationGroup.CodeSourceUrl) && GetFileSize(StationGroup.CodeSourceUrl) != -1)//未配置下载地址,则不允许操作
     {
         IdentityAnalogue ia = new IdentityAnalogue();
         if (!ia.CheckEnableSA(false))
         {
             dataInfo.InnerText = "错误800,请联系管理员!!!";
             CreateExLog("创建失败,未正确配置管理员信息,请联系管理员!!!");
             return;
         }
         if (!iisHelper.CreateSite(site))
         {
             dataInfo.InnerText = "错误801,请联系管理员!!!";
             CreateExLog("站点创建失败,站点同名或" + site.Port + "端口被占用,请联系管理员!!!");
             return;
         }
         dbMod.SiteName   = site.SiteName;
         dbMod.SiteID     = DataConverter.CLng(iisHelper.GetSiteModel(dbMod.SiteName).SiteID);
         dbMod.Status     = 1;
         dbMod.UserID     = buser.GetLogin().UserID;
         dbMod.UserName   = buser.GetLogin().UserName;
         dbMod.CreateTime = DateTime.Now;
         dbMod.Remind     = site.DomainName;
         #region 创建数据库
         if (StationGroup.AutoCreateDB)
         {
             if (!string.IsNullOrEmpty(StationGroup.DBManagerName) && !string.IsNullOrEmpty(StationGroup.DBManagerPasswd))//配置了数据库信息才会创建
             {
                 DBModHelper dbHelper   = new DBModHelper(StationGroup.DBManagerName, StationGroup.DBManagerPasswd);
                 M_UserInfo  userInfo   = buser.GetLogin();
                 string      dbName     = "Zdb_" + site.dbName;
                 string      dbUserName = dbName + "_" + userInfo.UserName;
                 string      dbPasswd   = function.GeneratePasswd();
                 //下载地址不可用,则终止,数据库创建失败,则仍继续,
                 try
                 {
                     if (dbHelper.DBIsExist(dbName) == 0)
                     {
                         dbHelper.CreateDatabase(dbName);
                         dbHelper.CreateDatabaseUser(dbUserName, dbPasswd);
                         dbHelper.CreateUserMap(dbName, dbUserName);
                         dataInfo.InnerText = "创建独立数据库成功:" + dbName + " 用户名:" + dbUserName + " 密码:" + dbPasswd;
                         dbMod.DBName       = dbName;
                         dbMod.DBUser       = dbUserName;
                         dbMod.DBInitPwd    = dbPasswd;
                     }
                     else
                     {
                         dataInfo.InnerText = "错误代码901:数据库未创建,请联系管理员!!!";//"创建独立数据库失败:" + dbName + "原因:数据库已存在,请联系管理员!!!"
                         CreateExLog("创建独立数据库失败:" + dbName + "原因:数据库已存在!!!");
                     }
                 }
                 catch (Exception ex)
                 {
                     dataInfo.InnerText = "错误代码902:数据库未创建,请联系管理员!!!";
                     CreateExLog("创建独立数据库失败:" + dbName + "原因:" + ex.Message);
                 }
             }
         }
         else
         {
             dataInfo.InnerText = "管理员未许可自动创建数据库,请联系管理员创建对应数据库!!!";
         }
         #endregion
         DownFile dw = DownFileWork;
         Application[buser.GetLogin().UserID + "downCodeT"] = GetFileSize(StationGroup.CodeSourceUrl);
         Application[buser.GetLogin().UserID + "downTempT"] = GetFileSize(site.TempUrl);
         dw.BeginInvoke(buser.GetLogin().UserID, HttpContext.Current, StationGroup.CodeSourceUrl, @site.PhysicalPath + "SourceCode.zip", site, null, null);
         dbBll.Insert(dbMod);
         Page.ClientScript.RegisterStartupScript(this.GetType(), "", "beginCheck('getCodeP');", true);
     }
     else
     {
         function.WriteErrMsg("下载地址:" + StationGroup.CodeSourceUrl + "无法访问,请联系管理员修复!!");
     }
 }