?????????????????????????? Me.cbWindowsAuthentication.Checked = Convert.ToBoolean(el.Attributes("value").Value)
??????????????????? Next
??????????????? End If
??????????? End If
??????? Next
??? End Sub
??? ''''**********************************************************************************************
??? ''''** Class:????????? GetDatabases
??? ''''**
??? ''''** Description:???
??? ''''**********************************************************************************************
??? Private Sub GetDatabases()
??????? Try
??????????? Dim oDatabase As New Database
??????????? cboDatabase.BeginUpdate()
??????????? Cursor.Current = Cursors.WaitCursor
??????????? Configuration.Server = txtServerName.Text
??????????? Configuration.Database = "master" ''''cboDatabase.Text
??????????? Configuration.Password = txtPassword.Text
??????????? Configuration.UserName = txtUserName.Text
??????????? Configuration.WindowsAuthentication = cbWindowsAuthentication.Checked
??????????? Dim rd As SqlClient.SqlDataReader
??????????? rd = oDatabase.GetDatabases
??????????? While rd.Read()
??????????????? cboDatabase.Items.Add(rd.GetString(1))
??????????? End While
??????????? rd.Close()
??????????? cboDatabase.Sorted = True
??????? Catch AComException As System.Runtime.InteropServices.COMException
??????????? cboDatabase.DataSource = Nothing
??????????? cboDatabase.Items.Clear()
??????????? cboDatabase.Text = ""
??????????? MsgBox("Could not connect to " & txtServerName.Text & ".", MsgBoxStyle.Exclamation, _
??????????????? "SQL Connection Error")
??????? Catch e1 As Exception
??????????? MsgBox(e1.Message)
??????? Finally
??????????? cboDatabase.EndUpdate()
??????????? Cursor.Current = Cursors.Default
??????? End Try
??? End Sub
??? Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
??????? Dim xmlDoc As XmlDocument
??????? Dim topM As XmlNodeList
??????? xmlDoc = New XmlDocument
??????? xmlDoc.Load("Web.config")
??????? topM = xmlDoc.DocumentElement.ChildNodes
??????? For Each element As XmlElement In topM
??????????? If element.Name.ToLower() = "appsettings" Then
??????????????? Dim _node As XmlNodeList = element.ChildNodes
??????????????? If _node.Count > 0 Then
??????????????????? For Each el As XmlElement In _node
??????????????????????? If el.Attributes("key").InnerXml = "ServerName" Then _
?????????????????????????? el.Attributes("value").Value = txtServerName.Text
??????????????????????? If el.Attributes("key").InnerXml = "DataBaseName" Then _
?????????????????????????? el.Attributes("value").Value = cboDatabase.Text
??????????????????????? If el.Attributes("key").InnerXml = "UserName" Then _
?????????????????????????? el.Attributes("value").Value = SecurityService.SymmetricEncrypt(txtUserName.Text)
??????????????????????? If el.Attributes("key").InnerXml = "Password" Then _
?????????????????????????? el.Attributes("value").Value = SecurityService.SymmetricEncrypt(txtPassword.Text)
??????????????????????? If el.Attributes("key").InnerXml = "WindowsAuthentication" Then _
????????????????????????? el.Attributes("value").Value = Me.cbWindowsAuthentication.Checked.ToString()
??????????????????? Next
??????????????? End If
??????????? End If
??????? Next
??????? '''' Write XML to file
??????? xmlDoc.Save("Web.config")
??????? Me.Close()
??? End Sub
??? Private Sub cbWindowsAuthentication_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbWindowsAuthentication.CheckedChanged
??????? If cbWindowsAuthentication.Checked Then
??????????? txtUserName.Text = ""
??????????? txtPassword.Text = ""
??????????? txtUserName.Enabled = False
??????????? txtPassword.Enabled = False
??????? Else
??????????? txtUserName.Enabled = True
??????????? txtPassword.Enabled = True
??????? End If
??????? Configuration.WindowsAuthentication = cbWindowsAuthentication.Checked
??? End Sub
??? Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
??????? If MsgBox("Are you sure you want to exit w/o configuring the database?", MsgBoxStyle.OKCancel) = MsgBoxResult.OK Then
??????????? Me.Close()
??????? End If
??? End Sub
??? Private Sub txtPassword_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPassword.LostFocus
??????? If cbWindowsAuthentication.Checked Or (txtUserName.Text <> "" And txtPassword.Text <> "") Then
??????????? GetDatabases()
??????? End If
??? End Sub
End Class
SecurityService类是用来加/解密的,这样用户就无法直接从Web.config中看到数据库用户和密码了。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




