私はリポジトリパターンで初めてASP.NET MVC5プロジェクトを作成しています。それには多くの役割があり、各役割には多数のユーザーがいます。今まで、私は様々なモデルエンティティを作成し、追加、更新、削除シナリオが正常に動作しています。テスト中に、ユーザーは自分に属していないエンティティを更新できることがわかりました。Entity framework6リポジトリパターン
私は、ユーザ自身に属するエンティティ(DB内の行)のみにアクセス、編集、更新、削除するように制限したいと考えています。
は、私が知っている、私はどこかでログインしているユーザーの現在のuserId
をチェックする必要がありますが、どこでRepository pattern with Entity Framework
の場合には、この場所の条件をつけなければなりません。 各エンティティでプロパティを持つようにモデルを変更するか、または各エンティティを親エンティティと結合して、関連するユーザの詳細(userId
を取得するエンティティの完全なチェーン)を取得します。
これを実装するには、どのような方法が適していますか? ありがとう!
スタートを割り当てることができます追加されているエンティティのため:あなたの希望商務目的は何ですか。言い換えれば、機能はどのように機能する必要がありますか?ドメインモデルの階層のどこかでユーザ/ロールに基づいてデータアクセスを制限することは可能ですか?または、各エンティティが関連するユーザー(Id)を持つようにしたいので、ドメインモデルのあらゆるレベルに制限がありますか? –
同じロールに多数のユーザーが存在するため、ロールベースでは不可能です。 'userId'だけがエンティティが関係しているかどうかを確認できます。 – vivek
なぜこれらの不許可の変更を始める可能性がありますか?他のユーザーのデータを見たりすべきではないということを意味しますか? –