私のアプリケーションには2つの役割(admin
とnormal
)があります。モデルでは私はクラス(例)を持っています:プロパティの一部への安全なアクセス
public class Foo
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Extra { get; set; }
}
ユーザーは、そのオブジェクトを編集して検索することもできます。アプリケーションは、WebAPI ASP.NET Core with EF Coreに基づいています。
normal
は、属性が表示されないようにしてください(または何もしないでください)。Extra
プロパティが必要です。モデルクラス(または何か他のもの)を分割するか、プロパティを無視してエンドポイントの出力をフォーマットするだけで、アプリケーション(サービス、コントローラ、データアクセス層)のあらゆる場所でデータを保護する必要がありますか?
私の考えの1つは、属性をExtra
プロパティに設定してから、ContractResolver
を使用して、ユーザーがそのプロパティを表示する資格がないときにその属性でプロパティを無視することです。また、EFチェンジトラッカーを変更して、そのプロパティの保存を無視します(同じ場合)。
この問題を処理する方法や戦略はありますか?
を使用すると、複数のクラスに出て自分のクラスを抽象化する必要があるような音。 – maccettura