c# - Azure Active Directory 跟踪作者和编辑者字段

标签 c# asp.net asp.net-core-mvc azure-active-directory

我最近问了一个与此极其相似的问题,我在等到我解决了这个问题的变体后再标记答案。

我有一个 ASP.Net 应用程序,我需要跟踪每个实体的编辑器和作者字段。你可以在这里看到完整的问题:MVC tracking fields such as Author and Editor (Created By and Modified By)

我现在的变化是我将使用 Azure AD。因此我没有 ApplicationUserDbSet <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/

相关文章:

c# - Asp.Net Web API中ResponseTypeAttribute的主要用途是什么

c# - EntityFramework 可以一次发送所有查询吗?

c# - OLEDB 读取 Excel 文件不适用于 IIS asp.net C#

javascript - 如何将 Javascript 中的返回值传递给 Controller

c# - 项目引用 .net 核心类库问题

c# - Windows Phone 8 上的应用程序之间的 UniqueDeviceID 不同

c# - MySql 说对于不为空的列,列不能为空! [使用命名参数]

asp.net - 如何将 Azure 上的多个自定义域映射到同一服务器但不同的 URL?

asp.net - 如何修复 "Unable to get property ' apply' of undefined or null reference"错误与 asp.net 核心, Angular 4

c# - 未传递 IActionResult 参数