我不确定如何妥善处理这个问题。我有主要的区域。 PRISM规定的所有内容。我在App.xaml中创建Bootstrapper并运行它。
拦截主UI / Prism和验证用户的正确方法是什么?我的应用程序不允许无用的用户。
编辑: 我找到了以下文章,这看起来不错,但我不确定模块“依赖”在这种情况下是如何工作的。根据我的理解 - 登录模块首先加载但是如果用户登录则加载其他模块并不重要 http://www.prismforsilverlight.com/2011/02/16/login-framework-with-mvvm-and-prism/
EDIT2:
我的主要问题仍然存在。如何使用我的自定义登录UI拦截shell和模块?我正在寻找最佳实践如何使用PRISM。我在编辑1中提到的文章只是试图解决同样的问题。它确实提到了SecurityService,但它没有提到HOW登录屏幕。以及这个过程背后的所有钩子/机制。
答案 0 :(得分:0)
我无论如何都不是Prism专家,但我猜你需要在依赖模块的Initialize方法中检查ISecurityService.IsLoggedOn属性。
相关模块仍会被下载,但除非用户已登录,否则他们不会将自己注入视图中。我不确定你如何处理下载xaps并且用户仍处于登录状态的情况,但我确信有一些方法可以在发生这种情况时重新初始化模块。
答案 1 :(得分:0)
ISecurityService.IsLoggedOn 属性不会为TRUE。我认为 Module1 的 InitializationMode 应设置为“ OnDemand ”。因此,当调用 Module1 的 IModule.Initialize 时,它将首先检查 ISecurityService.IsLoggedOn == true 。如果没有,那么什么都不会发生。
希望这有帮助。