您的位置:首页 > 编程语言 > ASP

asp.net身份验证(登录控件),基于标准的sqlserver.(vs2005+sqlserver2005)

2008-03-31 19:06 288 查看
装好vs2005,如果选择安装SqlExpress,一切都是默认配置好的,"login控件"拖上就能用.但是这个似乎不太够用,ok,安装 SqlServer.首先在安装上就花费了一番功夫,这里就不罗嗦了.那么该怎样配置一下呢?
在msdn上也找到了,见下面的代码.在web.config中添加一段,就能连上数据库了.

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)的用户需要设置一下用户的,否则不能通过的.这段代码是我是用得user=***,pwd=***,因为后期我需要移植,web和sql服务器分开的,而且我比较喜欢后者.

我非常纳闷的是第三句,不知道为什么要用remove,msdn上这么解释 :

1 <connectionStrings >
2 <add />向连接字符串集合添加名称/值对形式的连接字符串。
3 <clear />移除所有对继承的连接字符串的引用,仅允许那些由当前的 add 元素添加的连接字符串。
4 <remove />从连接字符串集合中移除对继承的连接字符串的引用。
5 </connectionStrings>
6
7

不知大家是否在意过,而且我去掉remove这句话,会报错。经过一番折腾,其实,<connectionStrings />这段话就相当于重载,想想看,为什么在SqlExpress时能够默认连接,应该是在什么地方配置好了。以前接触过unix和linux,感受最大是他们的配置文件,所有的东西都需要你去配置,而且一但你配置好之后条理会非常清楚,全都是用文本配置的。用Microsoft的东西总是有点迷糊,不知道彼此之间的衔接,现在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

找到源头了,就是这句话在起作用。当你启动你编辑的页面时,首先会调用你的web.config文件,当发现你的web.config中没有进行任何配置时,就去machine.config中查找。所以说就有上面的remove语句。其实不仅这样,而且LocalSqlServer也不能改,因为machine.config中的后面的provider还调用了LocalSqlServer,感兴趣的可以看看,这里就不罗嗦了。
最后还需要提醒大家的是,machine.config中最好不要改,很可能改了某项,你的机器就出大问题了哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: