シェルの MDI 子として表示されるいくつかのビューを持つ WPF で開発されたデスクトップ アプリケーションがあります。複合/モジュール化されたアプローチで開発されていません。アプリケーションが開くと、すべてのビューにアクセスできるようになります。アプリケーションには、管理者ユーザーと複数のオペレーターがいます。
要件は、管理者ユーザーがオペレーターにいくつかの制限された権限を割り当てることです。
- どのオペレーターがどのビューにアクセス/開くことができるか、および
- 許可されたビューでどのオペレーターがどのアクションを実行できるか
ここまでの私の考えは –
- オペレータ権限情報のデータベースへの格納
- ロード時に、現在ログインしているユーザーの権限情報をアプリケーション レベルのどこかに保存する
- シェルの場合、アプリケーション レベルで権限情報を確認し、情報に従ってさまざまなビュー アクセス ボタンに可視性バインディングを設定します。
- 個々のビューについて、ビューモデル レベルで権限情報を確認し、情報に従ってアクション ボタンへの可視性バインディングを設定します。
そのようなシナリオを実装するためのより良いアプローチはありますか?