Asp.net mvc 5 在ASP.NET MVC 5中使用SQLExpress数据库中的表进行身份验证

Asp.net mvc 5 在ASP.NET MVC 5中使用SQLExpress数据库中的表进行身份验证,asp.net-mvc-5,asp.net-identity,Asp.net Mvc 5,Asp.net Identity,默认情况下,ASP.NET MVC 5身份验证在localDB中具有用户表。但是,我已经使用IIS在SQLEXPRESS中创建了数据库,我希望身份验证模块在SQLEXPRESS数据库中使用这些表。如何实现这一点?您可以重新配置Identity使用的上下文以指向其他数据库。我假设您使用了一个用于标识的连接,另一个用于另一个SQLExpress数据库 public class IdentityDbContext : IdentityDbContext<MyUsers> { pu

默认情况下,ASP.NET MVC 5身份验证在localDB中具有用户表。但是,我已经使用IIS在SQLEXPRESS中创建了数据库,我希望身份验证模块在SQLEXPRESS数据库中使用这些表。如何实现这一点?

您可以重新配置Identity使用的上下文以指向其他数据库。我假设您使用了一个用于标识的连接,另一个用于另一个SQLExpress数据库

public class IdentityDbContext : IdentityDbContext<MyUsers>
{
     public IdentityDbContext() : base("MySqlExpressConnection") {}

     static AppIdentityDbContext()
     {
          Database.SetInitializer<IdentityDbContext>(new IdentityDbInit());
     }         
}

public class IdentityDbInit : NullDatabaseInitializer<IdentityDbContext> {}
公共类IdentityDbContext:IdentityDbContext
{
public IdentityDbContext():base(“MySqlExpressConnection”){}
静态AppIdentityDbContext()
{
SetInitializer(new IdentityDbInit());
}         
}
公共类标识符Binit:NullDatabaseInitializer{}

如果您一直在使用one connection for Identity,并且只希望将Identity表添加到不同的现有数据库中,只需将连接字符串更改为指向SQLExpress数据库。

将连接字符串更改为指向SQLExpress实例。如果将Identity的连接字符串更改为指向SQLExpress数据库,则会出现此错误;“文件的目录查找”F:\Academic\ASPproject\MY\Mysolution\Mysolution\Mysolution\App\u Data\aspnet EMRs‌​olution-20150615092849.mdf“由于操作系统错误5(访问被拒绝)而失败。创建数据库失败。无法创建列出的某些文件名。请检查相关错误。“如您所述重新配置上下文时,我收到此错误:“实体类型ApplicationUser不是当前上下文模型的一部分。”如果我将Identity的连接字符串更改为指向SQLEXPRESS DB,则会出现此错误;文件“F:\Academic\ASPproject\MY\Mysolution\Mysolution\Mysolution\Mysolution\App_Data\aspnet-EMRsolution-20150615092849.mdf”的目录查找失败,操作系统错误为5(访问被拒绝)。创建数据库失败。无法创建列出的一些文件名。请检查相关错误。“我感觉我们可能会很快陷入困境,所以我将链接到一个伟大的资源,它帮助我在最近的一个项目中包含身份。这是一本免费出版的印刷书的几章。作者认为付费墙不应该站在你和安全应用程序之间,这是非常棒的。只需向下滚动到下载部分。
public class IdentityDbContext : IdentityDbContext<MyUsers>
{
     public IdentityDbContext() : base("MySqlExpressConnection") {}

     static AppIdentityDbContext()
     {
          Database.SetInitializer<IdentityDbContext>(new IdentityDbInit());
     }         
}

public class IdentityDbInit : NullDatabaseInitializer<IdentityDbContext> {}