我正在編寫一個WPF應用程序並使用自定義主體實現自定義安全身份驗證和授權,並且它工作得很好。我使用CaliburnMicro作爲MVVM框架。而我使用它的設計模式的支持,所以在每次查看我:在設計模式下禁用類屬性
xmlns:vm="clr-namespace:Project.ViewModels"
xmlns:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro.Platform"
cal:Bind.AtDesignTime="True"
d:DataContext="{d:DesignInstance Type=vm:MyViewModel, IsDesignTimeCreatable=True}">
然後,當我在Visual Studio中工作,我可以查看和編輯我的控制,通過視圖模型填充。這個問題,但是,是PrincipalPermission
屬性:
[PrincipalPermission(SecurityAction.Demand)]
public class MyViewModel : Screen
因爲如果我將它設置,則該視圖模型被限制(因此,只有合法的用戶才能觀看),它在運行時的偉大工程;在那裏我檢查並重定向到登錄查看模型;但後來我失去了WPF編輯器的所有設計功能(因爲設計編輯器顯示空白屏幕)。如果我評論該屬性,並清理/重建項目,那麼編輯器再次工作;但這不是一個真正的選擇,因爲我有近70個視圖,我們是一個由13個開發人員/設計師組成的組。
有沒有辦法可以限制只有在設計模式下才能設置的屬性?那麼我們可以設計/開發和測試,而無需手動評論70多個視圖?
您是否使用此屬性來限制基於當前Windows用戶的訪問? – Evk
@Evk no。我對現有的服務總線實施了自定義身份驗證服務。但我正在使用框架內置機制。 –