【发布时间】:2016-10-09 18:39:45
【问题描述】:
当 C# 是 API 时,我有一个博客项目。我正在使用 SQL Server 2016。为了连接到数据库,我正在使用 Entity Framework。
这是我的 ADO.NET .edmx 图:
一个用户可能有很多帖子,一个帖子可能有很多作者(Users),一个帖子可能有几个cmet,一个用户可能有cmet。
当我请求 API 获取用户(或用户列表)时,响应如下:(Endpoint: "/api/users/1")
我想从响应中隐藏密码字段(我知道它没有经过哈希处理,但这是出于测试目的)所以我将代码更改为:
收件人:
这是使用新代码的结果:
但现在:(我在帖子数组中看到了用户(包括密码!)的详细信息!
是否有一种有效的方法可以在 C# Web API 中实现对 EF/LINQ 查询隐藏敏感数据?
谢谢。
【问题讨论】:
-
在Users类中,可以设置密码为private
-
那我就可以创建/更新/删除密码了吗?
-
把
ScriptIgnore属性放在password属性上,就不会被序列化成json了 -
你必须首先使用代码而不是 edmx(EF 不再支持 edmx,所以如果我是你,我不会再使用它了)。
-
附言。请发布您的代码,而不是图像。图片不能被复制,也不能被搜索引擎索引,就像你的代码一样。
标签: c# asp.net entity-framework linq asp.net-web-api2