![]() |
1
2
大多数情况下,Windows窗体应用程序在具有Windows域帐户的内部网络中使用。
否则
并将thread.currentPrincipal设置为您自己的主体对象 |
![]() |
2
3
既然你没有一个被接受的答案,而且我在研究另一个问题时偶然发现了这个问题,我会尽力给你一些建议。 正如已经指出的,WinForms应用程序中的用户管理和基于角色的安全性实际上并不能在客户端工作。在一个网络类比中,想象一下只使用JavaScript和cookie来实现所有的安全性,而不在服务器端保留任何信息。默认情况下是不安全的。 如前所述,您可以在数据库上实现安全性,并让您的用户从您的win表单直接连接到数据库。我强烈建议你不要修这门课。用户管理将成为一场噩梦。你 需要 中间层 您应该做的是构建一个实现基于角色的安全性的Web服务(因为您熟悉它——有更好的授权选项),并有一个自定义的身份验证存储。如果使用WCF构建Web服务,则可以使用与ASP.NET中使用的RoleProvider和MembershipProvider类相同的类。 该Web服务处理系统的所有业务逻辑,并负责连接到数据库。它提供了一个安全的抽象层,并减少了管理用户所需的数据库管理量。您的Win表单应用程序变成了一个UI外壳,只负责处理用户交互和前端数据验证(您还应该在中间层进行验证),而不负责其他任何操作。 |
![]() |
3
2
微软发布了客户端应用程序服务来做我认为你正在寻找的… http://msdn.microsoft.com/en-us/library/bb384297.aspx 是官方文件吗 http://aspalliance.com/1595_Client_Application_Services__Part_1 是一个不错的教程(包括截图等) |
![]() |
4
1
我一直在找,直到现在都找不到任何东西。看看这个: 这里不多: WinForms中的网络提供程序 http://windark.net/blog/PermaLink,guid,5341a7d0-4eab-473d-9143-a3fa6c41db90.aspx 解决方案就在这里。一个好样本(在vb中): 在Windows窗体应用程序中使用ASP.NET成员资格提供程序 http://www.theproblemsolver.nl/usingthemembershipproviderinwinforms.htm 但后来我想,是否有人也为WinForms编写了ASPNET控件等价物?这篇文章的开头是: 统一Windows窗体和ASP.NET提供程序以进行凭据管理 http://msdn.microsoft.com/en-us/magazine/cc163807.aspx 我希望这能回答你的问题;) |
![]() |
5
0
对于登录表单,我使用自己的组件,它是对CredentialSuipPromptforCredentials(credentialUI.dll)的p/invoke调用的包装,请参见 this MSDN article 更多信息。它提供了安全记住用户密码的功能。 这在框架中是不可用的,这有点令人惊讶。可能是因为credui.dll仅在xp和更高版本上可用,在这种情况下,我们可能会在未来的框架版本中看到它。 至于基于角色的安全性,在客户端应用程序中是固有的不安全性,因为智能用户可以使用反汇编程序访问您的源代码。 因此,虽然您可以在WinForms应用程序中使用ASP.NET角色管理器,但并不鼓励使用它。使用RoleManager,用户只需在配置文件中用他自己的更自由的实现替换您的RoleManager,就可以绕过您精心设计的授权规则。 安全的方法是提示输入凭据(或使用Windows凭据),并将这些凭据传递到服务层(直接传递到数据库,或Web服务)进行身份验证。 |
![]() |
6
0
如果直接连接到数据库(没有中间层),则需要在数据库级别应用安全性。 如果您有更多关于您是否计划从客户机直接连接到数据库或通过Web服务等的信息,我可以更新我的答案来反映这一点。 当直接连接到数据库时,您需要确保该数据库不仅对您的应用程序安全,而且对任何可以连接到SQL Server的人都安全。您可以使用Windows身份验证连接到SQL Server,并基于此设置角色。 |
![]() |
JOO · 使用udpClient从多个IP地址连续接收数据 2 年前 |
![]() |
Futterkiste · 函数比例图 3 年前 |
![]() |
user18789895 · 我应该如何验证WinForms应用程序? 3 年前 |
![]() |
beriscen · 如何使整个链接标签区域可点击? 3 年前 |
![]() |
lpmaxim · 当鼠标光标悬停在按钮上时,背景图像会移动 3 年前 |