|
asp.net身份驗證(登錄控件),基于標(biāo)準(zhǔn)的sqlserver.(vs2005+sqlserver2005)
轉(zhuǎn)自:動態(tài)網(wǎng)站制作指南 | www.第一次在這里發(fā)貼,覺得這里很好,是因為可以強迫自己把遇到的困難,解決的方法及時的記錄下來,以前做過很多東西,很久不用就忘了。寫下來,算是對自己的一種勉勵吧。當(dāng)然希望對大家能有點幫助,但是畢竟能力有限,還要請高手們多多指教。 裝好vs2005,如果選擇安裝SqlExpress,一切都是默認(rèn)配置好的,"login控件"拖上就能用。但是這個似乎不太夠用,ok,安裝 SqlServer.首先在安裝上就花費了一番功夫,這里就不羅嗦了。那么該怎樣配置一下呢?
在msdn上也找到了,見下面的代碼。在web.config中添加一段,就能連上數(shù)據(jù)庫了。
1 <configuration> 2 <connectionStrings> 3 <remove name="LocalSqlServer"/> 4 <add name="LocalSqlServer" 5 connectionString="Data Source=localhost;6 Initial Catalog=appservicesdb;7 Integrated Security=True" 8 providerName="System.Data.SqlClient"/> 9 </connectionStrings> 10 </configuration>這里在羅嗦幾句,第七行,如果是基于window驗證的就按此書寫,但是(Windows 2003)的用戶需要設(shè)置一下用戶的,否則不能通過的。這段代碼是我是用得user=***,pwd=***,因為后期我需要移植,web和sql服務(wù)器分開的,而且我比較喜歡后者。
我非常納悶的是第三句,不知道為什么要用remove,msdn上這么解釋 :1 <connectionStrings > 2 <add />向連接字符串集合添加名稱/值對形式的連接字符串。
3 <clear />移除所有對繼承的連接字符串的引用,僅允許那些由當(dāng)前的 add 元素添加的連接字符串。
4 <remove />從連接字符串集合中移除對繼承的連接字符串的引用。
5 </connectionStrings> 6 7不知大家是否在意過,而且我去掉remove這句話,會報錯。經(jīng)過一番折騰,其實,<connectionStrings />這段話就相當(dāng)于重載,想想看,為什么在SqlExpress時能夠默認(rèn)連接,應(yīng)該是在什么地方配置好了。以前接觸過unix和linux,感受最大是他們的配置文件,所有的東西都需要你去配置,而且一但你配置好之后條理會非常清楚,全都是用文本配置的。用Microsoft的東西總是有點迷糊,不知道彼此之間的銜接,現(xiàn)在Microsoft感覺配置文件方面倒是好多了,有點跑題了,趕快回來。所以總有找配置文件的感覺,還別說,真是給找著了,在machine.config中有一段代碼如下:1 <connectionStrings> 2 <add 3 name="LocalSqlServer" 4 connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 5 providerName="System.Data.SqlClient" 6 /> 7 </connectionStrings> 8找到源頭了,就是這句話在起作用。當(dāng)你啟動你編輯的頁面時,首先會調(diào)用你的web.config文件,當(dāng)發(fā)現(xiàn)你的web.config中沒有進行任何配置時,就去machine.config中查找。所以說就有上面的remove語句。其實不僅這樣,而且LocalSqlServer也不能改,因為machine.config中的后面的provider還調(diào)用了LocalSqlServer,感興趣的可以看看,這里就不羅嗦了。
最后還需要提醒大家的是,machine.config中最好不要改,很可能改了某項,你的機器就出大問題了哦。
|
|
|
來自: 悟靜 > 《.net和asp.net》