asp.net-core - 我可以将 ApplicationUser 放在 WASM 解决方案的 Shared 项目中,还是应该有某种代理 DTO 来代替?
问题描述
在共享项目中,我有模型类:
public class ItemListing
{
public Guid Id { get; set; }
public ApplicationUser User { get; set; }//author of the listing
public string Description { get; set; }
}
该类ApplicationUser : IdentityUser
位于 Server 项目中。
我可以吗:
- 将
ApplicationUser
课程移至共享项目,以便我可以在课堂上参考它ItemListing
? - 在 Shared 项目中添加对 Server 项目的引用。
- 在共享项目中创建
ApplicationUserDTO
将包含的属性子集ApplicationUser
,但是我如何需要某种映射?
解决方案
我可以将 ApplicationUser 类移动到共享项目,以便在 ItemListing 类中引用它吗?
是的,你可以。基类位于 Microsoft.Extensions.Identity.Stores 包中。
但你不应该。它会给共享 DLL 添加一些不必要的包袱,并且会向客户端公开许多与安全相关的字段。
我可以在共享项目中创建 ApplicationUserDTO
那将是有效和安全的方法。例如,您可以使用 AutoMapper 进行转换,尽管它几乎不需要。
推荐阅读
- apache-spark - Spark在哪里设置“spark.yarn.app.container.log.dir”配置?
- php - 如何修复 SQLSTATE[HY000] [1049] 未知数据库
- python - Django 序列化程序不显示子模型字段
- angular - 主题不返回任何东西
- c# - asp.net mvc中的模型推荐系统
- python - Python PIP 安装 v3.8
- bounding-box - Revit 房间边界框和标高偏移
- mongodb - 禁用 Go mongo bson 地图中的某些字段
- c - 从 C 中,我如何打印 Lua 堆栈的内容?
- mysql - 如何使用 Excel 查看 MySQL 中的数据?