【问题标题】:Can you use ASP.NET membership in your own database?您可以在自己的数据库中使用 ASP.NET 成员资格吗?
【发布时间】:2011-08-11 08:22:34
【问题描述】:

除了编写自己的提供程序之外,还有另一种(更简单的)方法可以将成员表包含在您自己的数据库中吗?

【问题讨论】:

    标签: asp.net sql-server asp.net-membership


    【解决方案1】:

    当然,您可以将 MS 成员资格提供程序部署到您喜欢的任何数据库中(前提是它使用 SQL Server)。您可以使用命令行工具 aspnet_regsql.exe(位于 framework 文件夹中)创建成员资格提供程序使用的表和过程。如果不更改存储过程或编写自己的提供程序,您将无法使用自己的表,但您可以扩展表(例如向用户表添加外键或添加列)。

    我相信您可以在 web.config 中设置连接字符串并通过 Web 界面部署表格,但我对此并不完全确定。但是我绝对确定,一旦部署,如果您设置连接字符串,您可以使用 Web 工具调整现有数据库。

    【讨论】:

    • 我的问题是在目标服务器上我有一个 mssql 数据库,所以我需要在那里存储整个数据并且我想使用会员资格。我不会更改表结构,我需要的两件事是:1)在一个数据库中拥有所有表(aspnetdb 和 own)2)能够引用 UserID 等等
    • 假设您知道如何使用控制台工具,您应该在将其指向现有数据库时遇到任何问题。
    • 我只想指出,因为我已经多次遇到这个问题。如果您编写数据库脚本,您不仅应该编写表结构和存储过程的脚本,还应该编写存储提供程序版本的表中的数据。否则,当您从脚本恢复数据库时,提供者会抱怨它的版本错误。
    【解决方案2】:

    您只需按如下方式编辑 web.config 文件即可做到这一点

    <system.web>
    ....
    
    <membership>
                <providers>
                    <clear/>
                    <add connectionStringName="yourConnectionStringName" applicationName="YourAppName" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="3" requiresQuestionAndAnswer="false" passwordFormat="Clear" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider"/>
                </providers>
            </membership>
    
    </system.web>
    

    然后运行asp.net配置或者aspnet_regsql.exe

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 2011-04-21
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多