是否可以与SqlMembershipProvider使用不同的数据库名称

时间:2009-09-15 15:33:08

标签: asp.net security sqlmembershipprovider

我可以使用ASPNETDB指定与SqlMembershipProvider不同的数据库吗?我正在共享主机上开发一个站点,并且必须将我的数据模式限制为一个提供的数据库。

上次我建议滚动自己的身份验证码时,我受到了严厉的责骂。

或者,是否有一些其他打包的身份验证系统我可以插入并配置为使用来自asp.net的任意数据库和表?

2 个答案:

答案 0 :(得分:4)

您可以使用aspnet_regsql command line tool.

将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> 

答案 1 :(得分:1)

之前的答案基本上是正确的,但是在我将“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>