如何在Windows窗体中实现安全组件?

rom*_*n m 8 security user-management winforms

从ASP.NET进入WindowsForms应用程序开发我希望看到类似的控件可以使用.令我惊讶的是,我没有看到任何安全控制(登录,用户管理等)

我错过了什么,或者我必须为应用程序实现自己的安全性(基于角色的安全性,用户管理等)?

该应用程序供内部使用(10-20个用户),但由于敏感数据,安全性非常重要.(MSSQL Server 2005位于后端,.NET 3.5)

任何信息,将不胜感激.

编辑:

我想我的问题是"在WinForms中是否有类似ASP.NET的成员资格提供程序?"

EDIT2:

经过一些谷歌搜索,我发现这篇文章,我会试一试,任何其他建议表示赞赏.

Pet*_*der 2

大多数情况下,Windows 窗体应用程序在具有 Windows 域帐户的内部网络中使用。
在这种情况下,您应该使用“集成安全性”连接到数据库并测试用户是否通过身份验证

 WindowsIdentity winIdentCurrent = WindowsIdentity.GetCurrent();
 if (winIdentCurrent != null)
 {
      Console.Write("WindowsIdentity.GetCurrent(): ");
      Console.WriteLine(winIdentCurrent.Name);
      Console.Write("WindowsIdentity.GetCurrent() IsAuthenticated: ");
      Console.WriteLine(winIdentCurrent.IsAuthenticated);
      // Everything is fine, trust Windows API :-)
 }
Run Code Online (Sandbox Code Playgroud)

否则
通过您自己的方法(数据库调用)验证用户/通行证

  1. 使用通用连接字符串
    (不推荐)
  2. 将连接字符串的用户/密码设置为经过身份验证的用户/密码

并将 Thread.CurrentPrincipal 设置为您自己的主体对象