皆さん、私はこの問題に関するたくさんの投稿を読みましたが、まだここに光が見えませんでした.
コントローラーのようにビューで何かを実行/実行または表示する許可を求めるのは非常に簡単ですが、モデルでそれを行うのはより複雑です.少なくとも私に起こったことです. コントローラーで、セッションオブジェクトに簡単にアクセスできるため: HttpContext.Current.Session["UserPermissions"] ビューから、セッションマネージャーを使用して次のようにアクセスできます: SessionManager.IsAllowed(Permission.SuperUser) そしてそれもコントローラで構築されます。しかし、データベースに接続するモデルとビジネス層でそれを簡単に行うにはどうすればよいでしょうか?
これは私の例です-
データベースから情報を取得し、ユーザーのアクセス許可に基づいて情報を取得する必要がある場合、ユーザーがアクセスできないことがわかっているデータでオブジェクトを埋めたくありません。
ビュー内のオブジェクトを解析して、ユーザーが見ることを許可されているアイテムだけを表示するのは簡単ですが、ビューに表示する前にこのアイテムをフィルタリングするほうがよいのではないでしょうか?
パーミッション クラスを実装して、すべてのモデルで使用する例を誰かに見せてもらえますか?
ありがとう!