我们即将将Intranet Web应用程序从使用基于表单的专有安全性迁移到Active Directory。应用程序记录各种用户操作,并且存在与用户帐户关联的大量数据。我们的计划是在各种表中迁移所有这些UserId列:从链接专有系统的外键到Active Directory GUID。两个系统之间的登录名相同,因此迁移不是问题。
但是,我们发现了一个主要问题:我们的安全策略规定必须从Active Directory中删除非活动用户。我们的安全日志中的孤立GUID使得条目对于查看它们的任何人来说都毫无意义。
应用程序如何维护有关从Active Directory中删除的GUID的人类可读基础知识(名称,登录等)?
我们考虑了以下选项。其中一个选项可能最终成为最佳选择,但我们希望尝试更好:
答案 0 :(得分:1)
我不会完全反规范化日志表,而是将相关的AD信息与GUID一起存储,正如蒂姆所说。但是,如果您需要在其他区域中使用此AD信息,请将其缓存在用户表中。我建议不要更改您的安全策略。
答案 1 :(得分:0)
对于日志记录,我赞成非规范化方法,但保持id。我将用户的id与其他人类可读的识别信息一起存储。对于活跃用户,我仍然可以在连接中使用id(如果需要)。对于不活动(已删除)的用户,我有一个人类可读的表格供审计员使用。
答案 2 :(得分:0)
我们决定使用“缓存”表来存储映射到友好用户信息的GUID字典。这将需要一个抽象AD用户列表的视图,并在缓存中合并缺少的条目。