Vil*_*lx- 1 .net c# sql-server security winforms
基本设置是经典的 - 您正在创建一个连接到数据库的Windows窗体应用程序,并执行各种企业级的操作.当然,这样的应用程序将有许多用户在DB中具有不同的访问权限,并且每个用户都有自己的登录名和密码.
那你怎么实现这个呢?一种方法是创建每个应用程序用户数据库的登录,但是这是一个非常严重的事情,甚至需要DB服务器等对管理员权限如果DB服务器承载多个应用程序时,管理员是很可能不被对此感到高兴.
在Web世界中,通常会创建自己的"用户"表,其中包含所有必需的信息,并使用一个固定的DB登录进行所有交互.这对于Web应用程序来说都很不错,但是Windows窗体无法隐藏此主登录信息,完全否定了安全性.(它可以试图隐藏,但所有这些尝试都很容易被打破).
所以......有一些中途吗?也许使用固定登录名登录,然后从检查用户名和密码的特殊存储过程中提升权限?
补充:好的,因此集成的身份验证和Windows组在大多数情况下似乎是一个公平的选择,所以我接受了相关的答案.尽管如此,如果任何人都可以提出非集成的身份验证解决方案,他们将获得我的支持.
对于WinForms,请使用Windows组.不需要密码,因为凭据是使用您的应用程序从Windows登录中推断出来的.
这是最佳做法
基本上:
在有人试图捕获所有信息之前,首先值得一读
编辑:
如果你有一个工作组,你仍然可以通过在sqlbox本地组中设置sqlbox\bob,sqlbox\hans等来实现.
当有人试图连接(比如他的电脑上的bob)时,窗户会询问他们的详细信息.只要bob知道他的SQLbox帐户详细信息,他就可以连接.
但是,我没有在工作组设置中尝试过这个...
| 归档时间: |
|
| 查看次数: |
2101 次 |
| 最近记录: |