Ric*_*olo 3 c# asp.net-mvc entity-framework asp.net-web-api asp.net-identity
我有一个网络API.我希望它有两种类型的用户.它们完全不相关.
如何管理他们的身份验证?
我不希望将它们放在同一个表中并将它们的类型作为角色来管理,因为它们是不同的实体.一种用户由人使用,另一种由服务使用.他们有不同的类和属性.我想有两个IdentityDbContext,但我想在同一个数据库中维护所有.你觉得可能吗?
我不确定这是不是一个好习惯,但你可以使用不同的模式,例如:
[dbo] .UserProfile和[webapi] .UserProfile
据我所知,您正在使用ASP.NET MVC并使用Empty Project附带的默认IdentityDbContext.
它使用CodeFirst方法在数据库上创建表.您只需创建所需的另一个并将其配置为使用不同的模式.
编辑 - 示例
注意[表("UserProfile",Schema = "dbo")]和[表("UserProfile",Schema = "webapi")]
这样,EF会注意到您正在尝试从不同的表中获取数据.
[Table("UserProfile", Schema = "dbo")]
public class UserProfile
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
}
[Table("UserProfile", Schema = "webapi")]
public class UserProfileWebApi
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果您想更进一步,可以为这两个类创建一个接口.但同样,我不相信这是一个好习惯,你应该创建一个具有不同名称的表格以避免混淆.
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |