私はMVCSiteMapProvider、v4.6.1を使用しています
これは私の問題です。管理者だけに表示されるメニューのセクションがあります。これを実現するには、セキュリティ トリミングを有効にし、コントローラーやコントローラー メソッドをデコレートしてトリミング基準を定義します。
管理タスク
- 追加
- 編集
- 削除する
私がする必要があるのは、「AdminTasks」ノードをクリックできないようにすることですが、それでも管理者だけに表示されます。
私が観察している動作はclickable="false"
、サイトマップのように「AdminTasks」をマークすると、ユーザーが管理者であるかどうかに関係なく、すべての人にノードが表示されるということです。マークされたノードclickable='false'
では、セキュリティ トリミングが実行されていないようです。
コードを詳しく調べることなく、ノードが とマークされている場合clickable='false'
、SiteMapProvider はルートを解決しようとしないと思います (ナビゲーション目的では必要ないため)。ただし、そうすると、コントローラーの装飾が検査されないため、セキュリティ トリミングがスキップされます。
私の仮定は正しいですか?セキュリティがトリミングされたまま、クリックできないノードを作成する方法はありますか?
ありがとう