在整个应用程序中引用IdentityUser主要对象是最佳做法吗?

时间:2019-02-21 22:20:41

标签: .net-core asp.net-identity asp.net-core-2.0

.NET Core MVC / Web API相对较新,我目前正在实现多用户,多角色系统。

我从中扩展的默认IdentityUser具有一个Guid主键(我知道可以重写)。

在所有其他系统中,我仍然指出用户的自动递增的PK int值以引用属于某个用户的数据。

现在的问题是,如果这是Microsoft打算将此主键用于IdentityUser,并且在所有表中都引用此(大)Guid时是否可以,或者可以创建单独的Users表并创建(IdentityUser.Id ,UserId自动递增)单独的表,并引用此UserId int。甚至是我不知道的另一种解决方案。

我之所以特别提出要求,是因为我多次阅读该Guid应该被保密,但是当我开始到处引用该Guid时,泄漏的可能性就会增加。

1 个答案:

答案 0 :(得分:0)

数据库是存储所有机密信息的地方,因此,您不必担心GUID用作其他表中的外键,因为它们仍在数据库中。尽管我仍然不同意,也许您所读到的关于将其保密的信息意味着您不应将其公开给客户端应用程序。因为GUID的一个优点是,即使用户获得了一个GUID(与自动递增的整数不同),他也无法猜测其他GUID。