[問題]如何將連接資料庫的帳號密碼寫在webconfig

看板C_Sharp作者 (Terry)時間11年前 (2013/07/19 22:22), 編輯推噓0(0014)
留言14則, 3人參與, 最新討論串1/1
不好意思,請教一下 今天有遇到一些問題 就是一般來說,連到資料庫的帳號、密碼,都是寫在web config的<connectStrings> 這裡面 但是我今天看到有個程式碼,是他寫在cs中 就像這樣 : SqlDataSource1.ConnectionString="Data Source=AA; Persist Security Info=BB; User ID=CC; Password=DD; Unicode=EE"; 問題一: 我要怎麼樣才能讓這組連線字串不要出現在cs中,而是出現在web config裡面呢? 問題二: 如果他只能在cs中出現,我參考之前別人寫的程式,他們的做法是把連線字串儲在 資料庫裡面,然後再去讀取,這樣子帳號,密碼就看不到了 我學著做一下,可是都沒有成功(錯誤的訊息我忘記抄下來了...) 做法是,用之前別人寫的物件,這個物件可以去讀取資料庫的字串 例如那個物件叫這樣子 READSTRING.ICANREAD("DBNAME").ToString(); 寫的時後我這樣子寫: string icanreadDB,aa, bb, cc, dd, ee; icanreadDB = READSTRING.ICANREAD("DBNAME").ToString(); //這樣子就讀到字串了,因為我把帳號密碼寫在這個DBNAME裡面 aa = icanreadDB.Substring(int,int)//這邊假設int已經有數字了 bb = icanreadDB.Substring(int,int) cc = icanreadDB.Substring(int,int) dd = icanreadDB.Substring(int,int) ee = icanreadDB.Substring(int,int) SqlDataSource1.ConnectionString="Data Source=aa; //從資料庫讀出AA給aa Persist Security Info=bb; User ID=cc; Password=dd; Unicode=ee"; 但是這樣子的做法好像不行,請教一下,該如何實做呢? 謝謝幫忙了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.109.202 剛剛查到文章,我的第一個問題,好像在Web config裡面 我幫他加上<connectStrings>裡面帳號 密碼,寫進入就解決了@@? ※ 編輯: bernachom 來自: 114.42.109.202 (07/19 22:41)

07/19 23:08, , 1F
MSDN上的參考範例 http://ppt.cc/Yo-B 是你要的答案嗎?
07/19 23:08, 1F

07/19 23:09, , 2F
讀取資料庫字串的方式有很多種web.config只是其中之一,
07/19 23:09, 2F

07/19 23:10, , 3F
若你要存在DB中,那你讀DB之前就會需要用到這個字串,所
07/19 23:10, 3F

07/19 23:10, , 4F
以理論上,透過上面msdn的範例,就可以不用直接寫在cs中
07/19 23:10, 4F

07/19 23:12, , 5F
寫在cs中有可能是因為開發方便吧,而基於安全性
07/19 23:12, 5F

07/19 23:13, , 6F
在也是有方式可以加密web.config http://ppt.cc/IS~T
07/19 23:13, 6F
那第一個問題應該就解決了,因為程式不在手邊,要下禮拜才有辦法試 我的加密也是用這種方式,然後看到他寫在cs...就沒辦法加了 謝謝您的幫忙,算是解決一個問題了。 ※ 編輯: bernachom 來自: 114.42.109.202 (07/19 23:16)

07/19 23:20, , 7F
應該把他的connection string移到web.config就可以了吧?
07/19 23:20, 7F
第一個問題嗎? 我覺得應該是這個樣子吧 ※ 編輯: bernachom 來自: 114.42.109.202 (07/19 23:21)

07/19 23:57, , 8F
沒特別考量整串cnnstr就存到db 取出來還不用切
07/19 23:57, 8F
有吧?! 我不是用了substring嗎?? ※ 編輯: bernachom 來自: 114.42.109.202 (07/20 00:25)

07/21 09:17, , 9F
整串=>"Data Source=AA;Persist Security Info=BB;..."
07/21 09:17, 9F
對耶...我為什麼要把它拆開... ※ 編輯: bernachom 來自: 114.42.119.51 (07/21 12:48)

07/21 14:42, , 10F
要拆有可能是你有不同的id,pwd存在,但這些字串,最終
07/21 14:42, 10F

07/21 14:43, , 11F
還是必須把它串起來成為一個完整的字串。
07/21 14:43, 11F
謝謝您的提醒,我也不知道為什麼我會想把他拆開,今天去試一下,沒有拆就好了 感謝。 ※ 編輯: bernachom 來自: 114.24.217.241 (07/22 22:32)

07/25 08:52, , 12F
<add key="DBConnectionString" value="Provider=SQLOLED
07/25 08:52, 12F

07/25 08:53, , 13F
.1;Persist Security Info=False;User ID=帳號;pwd=密碼;
07/25 08:53, 13F

07/25 08:53, , 14F
Initial Catalog=資料庫;Data Source=主機IP"/>
07/25 08:53, 14F
文章代碼(AID): #1HwKl1kv (C_Sharp)