この質問は、私を混乱させる私の申請の規則を適用することについてです。
コントローラはサービスを使用しており、サービスはリポジトリを使用しています。
public class CommentController: ApiController{
    [HttpPost]
    public bool EditComment(Comment comment){
        commentService.Update(comment);
    }
}
public class CommentService{
    ICommentRepository repository;
    ....
    ....
    public void Update(Comment comment){
        repository.Update(comment);
    }
}
ユーザーが認証されると、コメントを更新できます。
- ただし、ユーザーは自分のコメントを編集する必要があります。 
- ただし、管理者はすべてのコメントを編集できます。 
- ただし、指定した日付以降はコメントを編集できません。 
- 部門で編集 
そして、私はこれらのルールのようなものを持っています。
サービスレイヤーで「ユーザー編集独自のコメント」ルールを適用すると、Update methotを変更し、コントローラーのパラメーターUser.Identity.Nameを渡します。
public class CommentService{
    ICommentRepository repository;
    ....
    ....
    public void Update(string updatedByThisUser, Comment comment){
        // if updatedByThisUser is owner of comment
        repository.Update(comment);
    }
}
しかし、本当のサービスオペレーションの変更はルールによるのでしょうか。
ルールをどこに適用できるかについて少し混乱しています。コントローラー、稼働中、またはリポジトリー内。
デザインパターンのようにこれを行う標準的な方法はありますか?
[Authorize(Roles="member, admin")]で、Controllerのすべてのアクションメソッドには、「メンバー」または「admin」の役割を持つユーザーのみがアクセスできるようになります。