I have troubles with WPF desktop application based on Microsoft Prism Framework. The application has Logon dialog on startup that creates AuthenticationContext (User and Role) and runs Prism Bootstrapper (which creates ShellWindow and load Modules). Permissions are implemented using Markup Extensions and therefore parsed on view creation as I understand:
<MenuItem IsEnabled="{op:AuthToEnabled {x:Static a:ACL.CAN_CLOSE}}" ...>
Now I'm trying to add the abillity to change current user (and his permissions) at runtime. The possible ways of recreating entire bootstrapper or shell window does't work as expected and in generally look like hacks.
Is there a common way or best practice to do such things (users, permissions itself and their changes) when using Prism or WPF in general?