我必须为 C#/.NET WinForms/Desktop 应用程序添加一些安全性。我正在使用 Oracle DB 后端。
这些表很简单:用户(ID,名称),角色(ID,角色),用户角色(用户ID,角色ID)。
我正在使用 Windows 帐户名称来填充用户表。角色表现在只是'Admin','SuperUser','BasicUser'......
因为不可能有两个人拥有相同的 Windows 帐户名......即使我不控制这些名称管理(netops 可以,因此我想使用 Windows 帐户所以我不必管理它;))。对于角色表,我不应该再有欺骗值 - 我控制输入,只有 3 个(战术应用程序在一年内消失)。UserRole 是一个连接表,表示用户和角色的多对多关系,因此没有代理键是合理的。
简单的问题 - 为什么要在用户和角色表中使用“ID”(int)?这里有什么要点或优势吗?这是那些“我一直都是这样做的”类型的事情之一吗?还是我只是有一段时间没有这样做而忘记了原因?