收藏:在asp.net 2.0中使用自定义的provider

在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,修改的方法也是一样的。

引用:http://jackyrong.cnblogs.com/archive/2005/09/02/228533.aspx

你可能感兴趣的:(Provider)