“PersonalDataAttribute”有什么作用?

13
我刚刚发现ASP.NET Core Identity框架提供了PersonalData属性。文档仅表示:

用于指示某些内容被视为个人数据。

好的。这是什么意思?它对身份验证框架的工作方式或功能有任何影响吗?还是纯粹装饰性质的,可以在某些对象上进行反射并记录我的代码?
1个回答

23
ASP.NET Core身份验证UI包括一个“下载个人数据”页面,该页面使用[PersonalData]属性来帮助确定要包含在下载中的内容(source)。
// Only include personal data for download
var personalData = new Dictionary<string, string>();
var personalDataProps = typeof(TUser).GetProperties().Where(
    prop => Attribute.IsDefined(prop, typeof(PersonalDataAttribute)));

foreach (var p in personalDataProps)
{
    personalData.Add(p.Name, p.GetValue(user)?.ToString() ?? "null");
}

还有[ProtectedPersonalData],它继承自[PersonalData]。该属性还配置了Identity的EF Core集成,在将属性存储在数据库中时对其进行加密。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接