我想知道为什么asp.net mvc 5 Identity用户默认使用字符串(GUID)作为键而不是int?
有什么理由这样做吗?我知道可以将密钥更改为int,但这种改变是否很好?
可能是这个ID保存在cookie中,或者在OAUTH中使用,不建议这样做吗?
答案 0 :(得分:3)
我头脑中的两件事是int有一个限制,因为GUID没有,如果我知道我的ID是76,我可以知道至少75个用户的ID。这通常不会被证明是有问题的,但我可以想象它可能的情况。用户ID未在cookie中使用(至少不直接) - 使用用户会话,然后通过其Id绑定到当前用户。所以我想答案是90%更安全和10%无限用户ID的组合。
答案 1 :(得分:0)
可能有点晚了,但我刚刚写了一个答案 - 在默认的ASP.NET 4.6模板中修改什么来将用户pk更改为其他类型(在我的情况下为int)