Tôi đang sử dụng các đối tượng IIdentity và IPrincipal của .NET để bảo mật dựa trên vai trò và tôi đang ở bước sửa đổi các điều khiển được hiển thị dựa trên vai trò của người dùng hiện tại.Cách thao tác WPF GUI dựa trên vai trò người dùng
Câu hỏi của tôi là phương pháp được đề xuất là cho phép/vô hiệu hóa các trường trong cửa sổ WPF - hiển thị/ẩn các trường phụ thuộc vào các cuộc gọi loại IIdentity.IsInRole.
Điều này có thể được thực hiện trong XAML hay tôi phải trừu tượng hóa điều này thành mã với những gì tôi cho là hơi lộn xộn trong mã phía sau;
this.txtUserName.IsReadOnly = !MyPrincipal.CurrentPrincipal.IsInRole("Administrator");
this.mnuCreateUser.Visibility = MyPrincipal.CurrentPrincipal.IsInRole("Administrator");
? Visibility.Hidden : Visibility.Visible;
(Lưu ý; vai trò kiểm tra mã của tôi khi thực hiện chức năng, những gì tôi đang tìm cách để làm được sửa đổi giao diện phụ thuộc vào vai trò, vì vậy người dùng không thấy/thấy yếu tố readonly rằng họ không có quyền truy cập vào)
Ahh, điều này là rất nhiều theo ý thích của tôi. Với điều này trong XAML, nó phải thẳng về phía trước để xem truy cập được yêu cầu để xem các phần tử khác nhau trong GUI. Cảm ơn bạn. – Thies
Bạn được chào đón –
swipers mã đồng, bạn có thể cần thêm "return" trước "new NotImplementedException();" – SteveCav