I have a desktop application developed in WPF that has several views displayed as a child MDI in a shell. It is not developed in a composite / modular approach. When the application opens, all views are ready for access. The application has an Admin user and several operators.
The requirement is that the Admin user assign some limited privileges to the Operators, which will indicate -
- Which operators can open or open which types, and
- What operators can perform actions in allowed views
My thought up to this point is
- Storing operator privilege information in a database
- At boot, storing privileged user information during login at any application level
- For the shell, checking privilege information at the application level and setting visibility bindings to the various View-access buttons according to the information
- For individual views, checking privilege information at the ViewModel level and setting visibility bindings to action buttons in accordance with the information
Is there a better approach to implement such a scenario?
source share