我已经用UserStore
和UserManager
类设置了用户创建,这导致Identity Framework创建用于存储用户、声明等的相关表。
然而,这些表是在一个名为"DefaultConnection"的新LocalDB数据库中自动创建的,但我希望对此进行修改,因为我已经有了一个单独的数据库,我希望Identity框架使用它来创建这些表。
我似乎在这个新创建的数据库的解决方案中找不到任何配置,而且我似乎也找不到新创建的"DefaultConnection"连接字符串,因为它也不在Web.config文件中。
我可以通过UserManager
和GetOwinContext().Authentication.SignIn()
与创建的用户成功登录,因此Identity框架不知何故知道在哪个数据库中查找身份验证,但我不知道在哪里可以找到这些设置。
是否可以将Identity框架配置为使用现有的LocalDB数据库,并在Web Forms项目中创建身份验证表?
(我的项目使用实体框架v.6+模型和我现有的数据库)
您应该能够更改Identity DbContext.cs文件中的连接字符串,该文件默认情况下会添加到您的应用程序中。
查找此代码:
public IdentityDbContext()
: base("Name=SomeDefaultNameConnectionString", throwIfV1Schema: false)
{
}
在这段代码中,将SomeDefaultNameConnectionString
更改为WebConfig中要使用的数据库的连接字符串的名称。
此外,我强烈推荐这段身份视频,Adam Tuliper和Jeremy Foster在解释身份的一切方面做得很好,他们还有一个关于asp Identity的更深入的视频系列。这是介绍视频的链接。