作者bernachom (Terry)
看板C_Sharp
標題[問題]如何將連接資料庫的帳號密碼寫在webconfig
時間Fri Jul 19 22:22:54 2013
不好意思,請教一下
今天有遇到一些問題
就是一般來說,連到資料庫的帳號、密碼,都是寫在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)
2F:→ ryan10328:讀取資料庫字串的方式有很多種web.config只是其中之一, 07/19 23:09
3F:→ ryan10328:若你要存在DB中,那你讀DB之前就會需要用到這個字串,所 07/19 23:10
4F:→ ryan10328:以理論上,透過上面msdn的範例,就可以不用直接寫在cs中 07/19 23:10
5F:→ ryan10328:寫在cs中有可能是因為開發方便吧,而基於安全性 07/19 23:12
那第一個問題應該就解決了,因為程式不在手邊,要下禮拜才有辦法試
我的加密也是用這種方式,然後看到他寫在cs...就沒辦法加了
謝謝您的幫忙,算是解決一個問題了。
※ 編輯: bernachom 來自: 114.42.109.202 (07/19 23:16)
7F:→ ryan10328:應該把他的connection string移到web.config就可以了吧? 07/19 23:20
第一個問題嗎? 我覺得應該是這個樣子吧
※ 編輯: bernachom 來自: 114.42.109.202 (07/19 23:21)
8F:→ soup514:沒特別考量整串cnnstr就存到db 取出來還不用切 07/19 23:57
有吧?! 我不是用了substring嗎??
※ 編輯: bernachom 來自: 114.42.109.202 (07/20 00:25)
9F:→ soup514:整串=>"Data Source=AA;Persist Security Info=BB;..." 07/21 09:17
對耶...我為什麼要把它拆開...
※ 編輯: bernachom 來自: 114.42.119.51 (07/21 12:48)
10F:→ ryan10328:要拆有可能是你有不同的id,pwd存在,但這些字串,最終 07/21 14:42
11F:→ ryan10328:還是必須把它串起來成為一個完整的字串。 07/21 14:43
謝謝您的提醒,我也不知道為什麼我會想把他拆開,今天去試一下,沒有拆就好了
感謝。
※ 編輯: bernachom 來自: 114.24.217.241 (07/22 22:32)
12F:→ starshow:<add key="DBConnectionString" value="Provider=SQLOLED 07/25 08:52
13F:→ starshow:.1;Persist Security Info=False;User ID=帳號;pwd=密碼; 07/25 08:53
14F:→ starshow:Initial Catalog=資料庫;Data Source=主機IP"/> 07/25 08:53