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

[ 2006-07-07 23:45:26 | 作者: blueice ]
字体大小: | |
在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,修改的方法也是一样的。
评论Feed 评论Feed: http://www.elfnest.com/blog/feed.asp?q=comment&id=60

浏览模式: 显示全部 | 评论: 1 | 引用: 0 | 排序 | 浏览: 1781
引用 gshsh*
[ 2010-05-24 17:22:58 ]
In World of Warcraft, tough to get cheap wow gold items doesn’t always mean hard to find…they could be items that people just hate to have to grind out. The dirty jobs if you will. Trust me, in the real world, there are plenty of dirty jobs out there that no one cheap wow gold wants, but someone does and gets paid for well!

发表
表情图标
[smile] [confused] [cool] [cry]
[eek] [angry] [wink] [sweat]
[lol] [stun] [razz] [redface]
[rolleyes] [sad] [yes] [no]
[heart] [star] [music] [idea]
UBB代码
转换链接
表情图标
悄悄话
用户名:   密码:   注册?
验证码 * 请输入验证码