设计用户身份验证(角色和权限)模块

时间:2012-08-21 12:43:52

标签: sql-server database database-design data-modeling

我正在尝试为MS SQL Server数据库建模用户身份验证模块,该数据库将成为Delphi UI应用程序的后端。基本上,我想拥有用户所属的用户帐户只有一个组。一个群体可以拥有“n”个权利。

我还想将密码历史记录添加到数据库中,因为用户需要根据应用程序设置更改密码(例如,每隔90天)。

我还希望每次用户登录和注销时都记录一个事件。我可以将此扩展到将来的其他活动。

下面你会发现我的第一个裂缝。请让我知道任何改进建议,因为这是我第一次这样做。

您是否认为需要基于角色的安全性和密码规则/有效期约束的其他属性?

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以在Windows集成身份验证之上构建它吗?这会稍微简化你的设计。

我过去所做的是将db角色用于用户权限,然后将授予的角色列表传回给应用程序。这意味着后端强制执行数据输入和检索,应用程序可以在前端强制执行它想要的任何操作。它还允许您将规则外包给某些外部源(在这种情况下是Windows域)。