2011-09-14 120 views
1

我不確定如何正確處理此問題。我有地區的主要外殼。 PRISM所規定的一切。我在App.xaml中創建Bootstrapper並運行它。使用登錄名/密碼保護silverlight棱鏡應用程序

什麼是攔截主界面/棱鏡和驗證用戶的正確方法?我的應用程序不允許一致的用戶。

編輯: 我發現下面的文章,這看起來不錯,但我不知道模塊「依賴」如何在這種情況下工作。從我的理解 - 登錄模塊加載第一,但隨後它會加載其他模塊,如果用戶登錄或不 http://www.prismforsilverlight.com/2011/02/16/login-framework-with-mvvm-and-prism/

EDIT2不要緊:

我的主要問題仍然存在。如何攔截使用我的自定義登錄UI加載shell和模塊?我正在尋找PRISM如何完成最佳實踐。我在編輯1中提到的條款只是試圖解決同類問題。它提到了SecurityService,但沒有提到HOW登錄屏幕。以及這個過程背後的所有鉤子/機制。

回答

0

我不是一個棱鏡專家,但我猜你需要檢查依賴模塊的Initialize方法中的ISecurityService.IsLoggedOn屬性。

相關模塊仍將被下載,但除非用戶登錄,否則它們不會注入視圖。我不確定你是如何處理下載XPS完成和用戶仍在登錄過程中的情況,但我確信有一種方法可以在發生這種情況後重新初始化模塊。

0

ISecurityService.IsLoggedOn屬性在用戶登錄成功之前不會爲TRUE。我認爲模塊1初始化模式應設置爲「OnDemand」。因此,當模塊1IModule.Initialize被調用時,它將首先檢查是否ISecurityService.IsLoggedOn == true。如果沒有,那麼什麼都不會發生。

希望這會有所幫助。