有关Windows窗体应用程序的身份validation和授权的任何框架?

我是C#开发人员。 我开发了Windows和Web应用程序。 我想构建一个具有基于角色的系统的Winforms应用程序。 所有用户都必须在角色/组中。 然后我们为角色/组分配“查看,添加,更新,…”等权限。 角色/组是动态的,因此我们允许用户定义它。

是否有任何框架和良好的示例项目来实现它?

我通常会自己动手,因为.NET Framework在这方面function非常全面,但您可以尝试MS授权和配置文件应用程序块 。

对于蹩脚的实施细节,你看过“校长”吗? 请看我的回复。 使用此方法,您可以在代码中使用基于角色的安全性 – 例如:

[PrincipalPermission(SecurityAction.Demand, Role="ADMIN")] static void SomeMethod() {...} 

运行时本身现在将validation用户是否必须具有“ADMIN”角色才能进入该方法(显然,您也可以通过选中IsInRole(...)禁用UI中的选项)。 很强大。

如果您不太热衷于重新发明轮子,请查看名为Visual Guard的产品。 它允许您以最少的工作轻松地为应用程序添加安全性,并拥有一套function齐全的工具。

如果您已经熟悉ASP.NET,那么您可能熟悉ASP.NET成员资格/角色/配置文件系统,使用默认提供程序以及添加自己的function而不会有太多麻烦。

如果您可以在Windows窗体或WPF应用程序中使用所有内容,那不是很好吗? 是? 那么看看ASP.NET应用服务吧! 您只需设置一个网站即可提供身份validationURL,然后告诉您的应用使用该url。 您可以创建自己的自定义登录窗口,并在需要时让应用程序服务打开它,或者使用您自己的逻辑并自己调用方法。

它完全支持“离线模式”,它会缓存密码的哈希值以进行比较,它还可以缓存角色并允许您使用“配置文件”设置。