【问题标题】:MVC 4 Simple Membership Custom SQL Server DatabaseMVC 4 简单成员自定义 SQL Server 数据库
【发布时间】:2014-03-08 18:05:37
【问题描述】:

这是我的问题。我正在从我自己创建的数据库中创建一个 MVC 4 EF 站点。我有一个USERS 表,其中有一个UserID 列、一个UserName 列、一个Hash 列和一个Salt 列。我想使用简单的成员资格并将其指向我的USERS 表来处理登录、密码更改、注册等。我正在使用 MVC 4 Web 应用程序模板并且无法让它连接到我的数据库。这是我要使用的InitializeSimpleMembershipAttribute 类的连接字符串。我被告知它需要与从数据库创建我的实体的连接字符串不同。

<add name="DBConnectionString" 
     connectionString="data source=SERVERADDRESS;initial catalog=DATABASENAME;user id=USERID;password=PASSWORD;" 
     providerName="System.Data.SqlClient" />

我对模板的InitializeSimpleMembershipAttribute.cs 所做的唯一更改是将以下行替换为我的表格数据:

WebSecurity.InitializeDatabaseConnection("DBConnectionString", "USERS", "UserID", "UserName", autoCreateTables: true);

我不确定我做错了什么。我已经读过,您需要做的就是为数据库连接提供连接字符串、用户表、用户 ID 列和用户名列。我的用户帐户数据库是否需要与模板完全相同?这是我第一次为 MVC 网站先做数据库。

【问题讨论】:

    标签: c# sql-server asp.net-mvc asp.net-mvc-4 simplemembership


    【解决方案1】:

    1.) 确保您的 web.config 文件中有以下几行。

    <membership defaultProvider="SimpleMembershipProvider">
      <providers>
        <clear />
        <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="SimpleRoleProvider">
      <providers>
        <clear />
        <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData" />
      </providers>
    </roleManager>
    

    2.) 将以下代码添加到 global.asax.cs 文件中的 Application_Start() 事件。

    Database.SetInitializer<UsersContext>(null);
    
            if (!WebSecurity.Initialized)
            {
                WebSecurity.InitializeDatabaseConnection("DBConnectionString", "Users", "UserId", "UserName", autoCreateTables: true);
            }
    

    3.) 然后清理并运行解决方案...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      相关资源
      最近更新 更多