C# MVC4简单成员自定义SQL Server数据库
这是我的问题。我正在从我自己创建的数据库创建一个MVC4EF站点。我有一个C# MVC4简单成员自定义SQL Server数据库,c#,sql-server,asp.net-mvc,asp.net-mvc-4,simplemembership,C#,Sql Server,Asp.net Mvc,Asp.net Mvc 4,Simplemembership,这是我的问题。我正在从我自己创建的数据库创建一个MVC4EF站点。我有一个USERS表,其中包含UserID列、UserName列、Hash列和Salt列。我想使用简单的成员资格,并将其指向我的用户表,以处理登录、密码更改、注册等。我使用的是MVC 4 Web应用程序模板,无法将其连接到我的数据库。下面是我的连接字符串,供InitializeSimpleMembershipAttribute类使用。我被告知它需要与从数据库创建实体的连接字符串不同 <add name="DBConnecti
USERS
表,其中包含UserID
列、UserName
列、Hash
列和Salt
列。我想使用简单的成员资格,并将其指向我的用户
表,以处理登录、密码更改、注册等。我使用的是MVC 4 Web应用程序模板,无法将其连接到我的数据库。下面是我的连接字符串,供InitializeSimpleMembershipAttribute
类使用。我被告知它需要与从数据库创建实体的连接字符串不同
<add name="DBConnectionString"
connectionString="data source=SERVERADDRESS;initial catalog=DATABASENAME;user id=USERID;password=PASSWORD;"
providerName="System.Data.SqlClient" />
我不确定我做错了什么。我已经读到,您所需要做的就是为数据库连接提供连接字符串、用户表、用户ID列和用户名列。我的用户帐户数据库是否需要与模板的完全相同?这是我第一次为MVC站点首先创建数据库 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);
}
Database.SetInitializer(null);
如果(!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection(“DBConnectionString”、“Users”、“UserId”、“UserName”、autoCreateTables:true);
}
3.)然后清洁并运行溶液
Database.SetInitializer<UsersContext>(null);
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("DBConnectionString", "Users", "UserId", "UserName", autoCreateTables: true);
}