ASP.NET 2.0 身份验证(登录控件)使用

2010-08-28 10:50:09来源:西部e网作者:

基于 VS2005 + SQL Server 2005

  装好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中最好不要改,很可能改了某项,你的机器就出大问题了哦。

原文地址:http://www.cnblogs.com/wendy980622/archive/2006/03/09/346198.html

关键词:ASP.NET

赞助商链接: