예제 #1
0
        private void cxBtnOk_Click(object sender, EventArgs e)
        {
            string sSQLServOldPwd, sSQLServNewPwd;

            if (cxTextEditOldPwd.EditValue == null || Convert.ToString(cxTextEditOldPwd.EditValue).Trim() == "")
            {
                oSecMainFrm.MessageDlg("Old Password cannot be blank...", "mtWarning", "mbOk", 0);
                return;
            }
            if (cxTextEditNewPwd.EditValue == null || Convert.ToString(cxTextEditNewPwd.EditValue).Trim() == "")
            {
                oSecMainFrm.MessageDlg("Please enter the new password.", "mtWarning", "mbOk", 0);
                return;
            }
            if (cxTextEditConfirmPwd.EditValue == null || Convert.ToString(cxTextEditConfirmPwd.EditValue).Trim() == "")
            {
                oSecMainFrm.MessageDlg("Please enter the confirm password.", "mtWarning", "mbOk", 0);
                return;
            }

            try
            {
                sSQLServOldPwd = XpedeonCrypto.XpedeonServerDecrypt(PCFSecurity.oSecDM.sSuperUserPassword);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            if (!Convert.ToString(cxTextEditOldPwd.EditValue).Equals(sSQLServOldPwd, StringComparison.InvariantCulture))
            {
                oSecMainFrm.MessageDlg("Old Password does not match.", "mtWarning", "mbOk", 0);
                return;
            }
            if (Convert.ToString(cxTextEditNewPwd.EditValue) != Convert.ToString(cxTextEditConfirmPwd.EditValue))
            {
                oSecMainFrm.MessageDlg("New Password and Confirm Password dont match.", "mtWarning", "mbOk", 0);
                return;
            }

            try
            {
                sSQLServNewPwd = XpedeonCrypto.XpedeonServerEncrypt(Convert.ToString(cxTextEditNewPwd.EditValue));
                UpdateSQLServPassword(Convert.ToString(cxTextEditUserName.EditValue), Convert.ToString(cxTextEditNewPwd.EditValue), Convert.ToString(cxTextEditOldPwd.EditValue));

                string sAppPath = Application.StartupPath.ToString();
                System.Xml.XmlDocument xdDataBaseConnection = new System.Xml.XmlDocument();
                xdDataBaseConnection.Load(@sAppPath + "\\PCFSecurityAccessInfo.xml");
                if (xdDataBaseConnection.GetElementsByTagName("PASSWORD").Count > 0)
                {
                    // Get the target node using XPath
                    System.Xml.XmlNode xnOldPwd = xdDataBaseConnection.SelectSingleNode("//PASSWORD");
                    // Create a new comment node with XML content of the target node
                    System.Xml.XmlComment xcOldPwd = xdDataBaseConnection.CreateComment(xnOldPwd.OuterXml);
                    // Replace the target node with the comment
                    xdDataBaseConnection.DocumentElement.ReplaceChild(xcOldPwd, xnOldPwd);

                    // Create a new node
                    System.Xml.XmlElement xeNewPwd = xdDataBaseConnection.CreateElement("PASSWORD");
                    xeNewPwd.InnerText = sSQLServNewPwd;
                    // Add the node to the document
                    xdDataBaseConnection.DocumentElement.AppendChild(xeNewPwd);
                }
                xdDataBaseConnection.Save(@sAppPath + "\\PCFSecurityAccessInfo.xml");

                PCFSecurity.oSecDM.DataModuleCreate();

                oSecMainFrm.MessageDlg("Password Changed Successfully.", "mtConfirmation", "mbOk", 0);
                this.DialogResult = System.Windows.Forms.DialogResult.OK;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        private Dictionary <string, object> GetPCFSecAccessInfo()
        {
            string      sAppPath                = Application.StartupPath.ToString();
            XmlDocument xdDataBaseConnection    = new XmlDocument();
            Dictionary <string, object> oResult = null;

            try
            {
                xdDataBaseConnection.Load(@sAppPath + "\\PCFSecurityAccessInfo.xml");
            }
            catch (Exception ex)
            {
                /*if (ex is System.IO.FileNotFoundException)
                 *  throw ex;
                 * else*/
                if (ex is System.Xml.XmlException)
                {
                    oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml : " + ex.Message, "mtError", "mbOk", 0);
                    return(oResult);
                }
                else
                {
                    throw ex;
                }
            }

            if (xdDataBaseConnection.GetElementsByTagName("DB").Count == 0)
            {
                oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain DB tag.", "mtError", "mbOk", 0);
                return(oResult);
            }
            if (xdDataBaseConnection.GetElementsByTagName("HOSTNAME").Count == 0)
            {
                oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain HOSTNAME tag.", "mtError", "mbOk", 0);
                return(oResult);
            }
            if (xdDataBaseConnection.GetElementsByTagName("DB_NAME").Count == 0)
            {
                oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain DB_NAME tag.", "mtError", "mbOk", 0);
                return(oResult);
            }
            if (xdDataBaseConnection.GetElementsByTagName("USERNAME").Count == 0)
            {
                oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain USERNAME tag.", "mtError", "mbOk", 0);
                return(oResult);
            }

            if (xdDataBaseConnection.GetElementsByTagName("USERID").Count == 0)
            {
                oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain USERID tag.", "mtError", "mbOk", 0);
                return(oResult);
            }
            if (xdDataBaseConnection.GetElementsByTagName("PASSWORD").Count == 0)
            {
                oSecMainFrm.MessageDlg("PCFSecurityAccessInfo.xml does not contain PASSWORD tag.", "mtError", "mbOk", 0);
                return(oResult);
            }

            oResult = new Dictionary <string, object>();

            string sDB = (xdDataBaseConnection.GetElementsByTagName("DB"))[0].InnerText;

            oResult.Add("DB", sDB);
            string sDataSource = (xdDataBaseConnection.GetElementsByTagName("HOSTNAME"))[0].InnerText;

            oResult.Add("HOSTNAME", sDataSource);
            string sInitialCatalog = (xdDataBaseConnection.GetElementsByTagName("DB_NAME"))[0].InnerText;

            oResult.Add("DB_NAME", sInitialCatalog);
            string sRegUserName = (xdDataBaseConnection.GetElementsByTagName("USERNAME"))[0].InnerText;

            oResult.Add("USERNAME", sRegUserName);

            if (xdDataBaseConnection.GetElementsByTagName("WORKING_DIRECTORY").Count > 0)
            {
                string sWorkDir = (xdDataBaseConnection.GetElementsByTagName("WORKING_DIRECTORY"))[0].InnerText;
                oResult.Add("WORK_DIR", sWorkDir);
            }

            string sUserID = (xdDataBaseConnection.GetElementsByTagName("USERID"))[0].InnerText;

            oResult.Add("USERID", sUserID);
            string sPassword = (xdDataBaseConnection.GetElementsByTagName("PASSWORD"))[0].InnerText;

            oResult.Add("PASSWORD", sPassword);
            try
            {
                sPassword = XpedeonCrypto.XpedeonServerDecrypt(sPassword);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            //string connString = "Data Source=" + sDataSource + ";Initial Catalog=" + sInitialCatalog + ";User ID=" + sUserID + ";Password="******"Data Source=" + sDataSource + ";Initial Catalog=" + sInitialCatalog;

            if (sDB == "S" && !string.IsNullOrWhiteSpace(sRegUserName))
            {
                connString += ";User ID=" + sRegUserName.ToLower() + ";Password=site";
            }
            else
            {
                connString += ";User ID=" + sUserID + ";Password="******"CONN", connString);

            return(oResult);
        }