我想创建一个带有用户登录/身份验证等的MVC网站。
我正在使用EF CodeFirst来创建我的数据库。
如果我创建一个新的MVC项目并选择Authentication:Individual User Accounts,它将创建一个包含已存在的IdentityDbContext等的新项目。
我是否打算继续使用这个以及我自己的DbContext?我的项目实体的一个上下文,以及Identity实体的另一个上下文?这是否意味着我将拥有两个独立的数据库,或者我可以为它们提供相同的连接字符串吗?
我知道这可能是一个开放式的问题,但AspNet Identity是否有任何好的资源/教程?
到目前为止,我只找到有关AspNet Identity本身的资源,而不是如何将其与项目/数据库的其余部分集成
答案 0 :(得分:6)
您可以为自定义模型上下文和标识上下文指定相同的连接字符串,您只需要更改驻留在IdentityModels.cs
文件中的ApplicationDbContext类的构造函数中的连接字符串,就像这样:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("YouCustomConnectionString", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
并且身份所需的表将在与其他实体相同的数据库中创建,对于资源,有一组关于身份here的文章很好。