我可以指定与ASPNETDB
using不同的数据库SqlMembershipProvider
吗?我正在共享主机上开发一个站点,并且必须将我的数据模式限制为一个提供的数据库。
上次我建议滚动我自己的验证码时,我被责骂了。
或者,是否有其他一些打包的身份验证系统可以放入并配置为使用来自 asp.net 的任意数据库和表?
我可以指定与ASPNETDB
using不同的数据库SqlMembershipProvider
吗?我正在共享主机上开发一个站点,并且必须将我的数据模式限制为一个提供的数据库。
上次我建议滚动我自己的验证码时,我被责骂了。
或者,是否有其他一些打包的身份验证系统可以放入并配置为使用来自 asp.net 的任意数据库和表?
您可以使用aspnet_regsql 命令行工具将 ASP.Net Membership Schema 安装到任何 SQL 数据库。
您还可以为您的会员提供商指定任何您想要的连接字符串。只需在 web.config 文件中的成员声明中添加类似这样的内容:
<connectionStrings>
<add name="MyConnectionString" connectionString="Database=MyDatabase;Server=xxx;User=xxx;Pwd=xxx;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<membership defaultProvider="MyProvider">
<providers>
<add connectionStringName="MyConnectionString" applicationName="/Test"
description="MyProvider" name="MyProvider" type="SqlMembershipProvider" />
</providers>
</membership>
前面的答案在很大程度上是正确的,但是在我完全将“Type”值限定为“System.Web.Security.SqlMembershipProvider”之前我遇到了问题。
<membership defaultProvider="MyProvider">
<providers>
<add connectionStringName="MyProvider"
applicationName="/Test"
description="MyProvider"
name="MyProvider"
type="System.Web.Security.SqlMembershipProvider" />
</providers>
</membership>