我最近问了一个与此极其相似的问题,我在等到我解决了这个问题的变体后再标记答案。
我有一个 ASP.Net 应用程序,我需要跟踪每个实体的编辑器和作者字段。你可以在这里看到完整的问题:MVC tracking fields such as Author and Editor (Created By and Modified By)
我现在的变化是我将使用 Azure AD。因此我没有 ApplicationUser
或 DbSet <ApplicationUser>
查询。但是,我需要能够在 Author
中保存用户 SID。实体的字段,然后当该实体显示在页面上时,拉取相应的显示名称。
有人可以指出我需要如何存储字段的正确方向,以及向他们推荐的最佳实践如何获取每个实体的用户显示名称。每次显示用户时是否需要查询 Azure AD?
最佳答案
我会将 SID 存储在一个简单的字符串字段中。您可以查找 SID 长度定义并将其用作限制。
您可以考虑在保存到附加列时添加显示名称,但我不推荐这样做。显示名称可能会更改,并且根据您的数据和数据保护法,它也可能会出现问题。
显示用户时,在检索到实体后解析显示名称,并在内存中构建缓存以将 SID 映射到显示名称,这样您就不需要每次都调用 AAD。
https://learn.microsoft.com/en-us/dotnet/framework/performance/caching-in-net-framework-applications
关于c# - Azure Active Directory 跟踪作者和编辑者字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49460324/