WPF中的身份验证和角色

时间:2011-01-19 05:54:30

标签: wpf authentication .net-4.0

我在WPF做一个项目。我要求对用户进行身份验证,并根据角色为模块提供可访问性。我是否有更好的方法在WPF中实现这一目标。

1 个答案:

答案 0 :(得分:2)

部分取决于您需要代码的安全性。

但是,对于所有用例,请使用Model-View-ViewModel模式。在每个ViewModel中,最好放在所有ViewModel类的基类中,包括一个状态变量,它返回一个字符串,并在安全状态发生变化时引发PropertyChanged事件。

根据类似于此SO问题的接受答案的模式,为每个View类基于该字符串的值创建演示文稿:

https://stackoverflow.com/questions/3868164/

答案描述了如何使用布尔值执行此操作,但如果ViewModel状态变量需要两个以上的状态,则可以使用“True”或“False”以外的任何字符串值。

所有.NET代码(包括WPF)都可以轻松进行逆向工程。如果您的代码需要比这更安全,也就是说,如果您的用例假定您的用户将破解您的WPF程序,那么您将需要使用InishTech等商用产品对大部分ViewModel代码进行模糊处理和/或加密。 SLPS或Dotfuscator或其他。

或者,您可以使用相同的MVVM模式并编写Silverlight应用程序,但我不确定Silverlight用户是否可以像桌面WPF用户那样访问二进制文件。