我正在使用.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,以便用户不会看到/看到他们无权访问的只读元素)
ConverterParameter=Admin,Developer
? - Adolfo Perez