首页 > 解决方案 > 与 ASP.Net、EF、数据库优先的模型绑定安全

问题描述

简介:从 HTTP PUT 请求绑定以更新某些记录。模型是从 db first EF 搭建的,所以我不确定注释是一个可行的解决方案。

我不希望人们能够IsAdmin = true根据 PUT 请求保存(例如)用户模型。

这篇文章讲的是注释模型,我喜欢,但是从数据库中更新模型时,不会每次都把注释吹走吗?

是否有 EF 支持的 DTO 之类的东西?我找不到关于这种情况的任何东西,这一定很常见。我错过了什么?

标签: asp.net-core-mvc

解决方案


对于模型绑定,我假设您使用表单数据发送请求,如果是这样,您可以尝试BindNever 之类的

public class InstructorWithDictionary
{
    [BindNever]
    public int ID { get; set; }

使用BindNever,无论您从Put请求中设置什么,IsAdmin都不会设置。


推荐阅读