ロール ベースのセキュリティに .NET の IIdentity および IPrincipal オブジェクトを使用しています。現在、現在のユーザーが持っているロールに基づいて表示されるコントロールを変更しています。
私の質問は、WPF ウィンドウでフィールドを有効/無効にするための推奨される方法は何ですか - IIdentity.IsInRole タイプの呼び出しに依存するフィールドを表示/非表示にします。
これを XAML で行うことはできますか、それともコード ビハインドが少し面倒だと思うコードに抽象化する必要がありますか。
this.txtUserName.IsReadOnly = !MyPrincipal.CurrentPrincipal.IsInRole("Administrator");
this.mnuCreateUser.Visibility = MyPrincipal.CurrentPrincipal.IsInRole("Administrator");
? Visibility.Hidden : Visibility.Visible;
(注: 私のコードは、関数を実行するときにロールをチェックします。私がしようとしているのは、ロールに応じて GUI を変更することです。そのため、ユーザーはアクセス権のない読み取り専用要素を表示/表示しません)