从 ASP.NET 进入 WindowsForms 应用程序开发,我期待看到类似的控件可以使用。令我惊讶的是,我没有看到任何安全控制(登录、用户管理等)
我是否遗漏了什么,或者我必须为应用程序实现自己的安全性(基于角色的安全性、用户管理等)?
该应用程序供内部使用(10 -20 个用户),但由于敏感数据,安全性非常重要。 (MSSQL Server 2005 在后端,.NET 3.5)
任何信息,将不胜感激。
编辑:
我想我的问题是“WinForms 中是否有类似 ASP.NET 的成员资格提供程序?”
编辑2:
经过一番谷歌搜索后,我发现 this article ,我会尝试一下,任何其他建议表示赞赏。
最佳答案
由于您没有公认的答案,并且由于我偶然发现了这个问题并研究了另一个问题,因此我将尽力为您提供一些指导。
正如已经指出的那样,win 表单应用程序中的用户管理和基于角色的安全性并不是真正适用于客户端的东西。在网络类比中,想象一下尝试仅使用 javascript 和 cookie 来实现所有安全性,而不在服务器端保留任何信息。默认是不安全的。
正如也有人建议的那样,您可以对数据库实现安全性,并让您的用户从您的 win 表单直接连接到数据库。我强烈建议您不要修读这样的类(class)。用户管理将成为一场噩梦。你需要一个中间层。
您应该做的是构建一个实现基于角色的安全性的 Web 服务(因为您熟悉它——那里有更好的授权选项)并具有自定义身份验证存储。如果使用 WCF 构建 Web 服务,则可以使用在 ASP.NET 中使用的相同 RoleProvider 和 MembershipProvider 类。
该 Web 服务处理系统的所有业务逻辑,并负责连接到数据库。它提供了一个安全的抽象层,并减少了管理用户所需的数据库管理量。你的 win 表单应用程序变成了一个 UI shell,只负责处理用户交互和前期数据验证(你也应该在中间层验证),不负责其他任何事情。
关于winforms - 如何在 Windows 窗体中实现安全组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/784608/