我正在编写一个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。我对现有的服务总线实施了自定义身份验证服务。但我正在使用框架内置机制。 –