gpt4 book ai didi

c# - 在运行时更改用户及其在 WPF/Prism 桌面应用程序中的权限的常用方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:24:53 26 4
gpt4 key购买 nike

我在使用基于 Microsoft Prism 框架的 WPF 桌面应用程序时遇到问题。该应用程序在启动时有登录对话框,它创建 AuthenticationContext(用户和角色)并运行 Prism Bootstrapper(它创建 ShellWindow 和加载模块)。权限是使用标记扩展实现的,因此据我所知在创建 View 时进行解析:

<MenuItem IsEnabled="{op:AuthToEnabled {x:Static a:ACL.CAN_CLOSE}}" ...>

现在我正在尝试添加在运行时更改当前用户(及其权限)的能力。重新创建整个 Bootstrap 或 shell 窗口的可能方法没有按预期工作,通常看起来像 hack。

在一般情况下使用 Prism 或 WPF 时,是否有一种通用的方法或最佳实践来执行此类操作(用户、权限本身及其更改)?

最佳答案

我不是肯定的,但我相信 {x:Static } 只会被评估一次,即使您的权限发生变化也不会被重新评估

当用户选择更改登录时,完全重新启动您的应用程序怎么样?

我使用我的一个应用程序执行此操作,该应用程序需要在登录信息更改时重新启动:

Process.Start(Application.ResourceAssembly.Location);
Application.Current.Shutdown();

关于c# - 在运行时更改用户及其在 WPF/Prism 桌面应用程序中的权限的常用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12891670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com