许多桌面应用程序使用SQL表来管理他们的用户权限和角色。事实上,它们限制了在应用程序代码中访问应用程序的某些部分。这意味着他们需要一个具有最大权限的连接字符串到SQL服务器。什么是数据库桌面应用程序权限管理的最佳途径?
我的目标是C#2010,SQL Server 2005或2008
如果有任何原因,有人发现了什么是连接字符串?(网络跟踪,软件黑客,前员工或...),他可以改变一切只有管理工作室,你无法了解哪个客户端。如果你想改变连接字符串。您必须在许多客户端执行此操作,并且在您需要重新编译应用程序的不良设计中。
所以我想知道在表中使用真正的SQL登录而不是用户名和密码是个好主意吗?通过SQL登录为每个用户建立连接字符串?
这样就不用担心松动连接字符串。同样在SQL代码中,您可以使用GetUser()函数来指示哪个用户真的毁了查询?
但是这样管理权限可能很困难,因为没有简单的表来管理权限和用户。
在一个长句中。我想知道以管理权限的方式验证桌面应用程序用户的最佳方式是什么以及sql server可以记录用户活动?
Windows身份验证意味着每个可能的用户都需要添加到数据库中。在这种情况下不是一个非常易于维护的解决方案... – jeroenh 2010-08-10 10:09:18
@jeroenh:SQL上的Windows身份验证可以使用安全组。您不必逐个添加每个用户(并且许多组织已经具有定义的合适组)。 – 2010-08-10 10:21:18