[来源]http://jackyrong.cnblogs.com/archive/2005/09/02/228533.html
在asp.net 2.0中,提供了各类的provider,有membership,role,profile等的,可以很方便地实现如角色,用户等管理,甚至不用自己写代码了。而在vs.net 2005中,默认的各类的provider是使用sql express的,有的时候,如果想使用sql sever 2000或者sql server 2005,那应该怎么办呢?下面举例子说明: 首先,要正确使用 provider,我们要到C:\WINNT\Microsoft.NET\Framework\v2.0.50215下,运行一个 叫aspnet_regsql的工具,之后按照其步骤设置就可以了,最后会产生一个叫aspnetdb的数据库。 接着,到C:\WINNT\Microsoft.NET\Framework\v2.0.50215\config下,打开machine.config文件, 找到如下的代码: <membership> <providers> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers> </membership> 注意,这里定义了membership这个provider的一些属性了,比如对密码输入的要求,对注册提示问题的要求等等,其中,留意下connectionStringName="LoacalSqlserver"这个,再查找localsqlserver,会找到如下的代码 <connectionStrings> <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> </connectionStrings> 看到了吧,要改为你的sql server 2000或者sql server 2005的话,就在这里改了。 又或者可以在web.config里改也可以的 <connectionStrings> <add name="MySqlProviderConnection" connectionString="server=localhost;integrated security = true;Initial Catalog=aspnetdb" /> </connectionStrings>
<system.web> <membership defaultProvider="MySqlMembershipProvider"> <providers> <add connectionStringName="MySqlProviderConnection" name="MySqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </membership> </system.web> 其他的如profile,role等provider,修改的方法也是一样的。
*venjiang提示:在使用Aspnet_Regsql时,如果加个 -W 参数,将以windows向导模式注册,很方便。
|