我有一个MS-Access 2007前端,将有多个用户使用它。他们都将在网络公司域上。连接到SQL Server 2008应该使用Windows身份验证还是SQL Server身份验证通过ODBC连接?
我有一个MS-Access 2007前端,将有多个用户使用它。他们都将在网络公司域上。连接到SQL Server 2008应该使用Windows身份验证还是SQL Server身份验证通过ODBC连接?
Windows认证将允许更无缝的身份验证过程,单点登录!
以下文章中提到:
SQL Server认证的缺点
SQL Server认证的优点
这里有一篇关于每种方法的优缺点的好文章。http://technet.microsoft.com/en-us/library/ms144284.aspx
Dustin提出了一份优缺点清单。我知道没有人想为你做出这样的决定,但基于你的标准(多个用户,都在公司域中),我想不到使用SQL Server身份验证而不是Windows身份验证的理由。它主要是为这种情况而设计的。
runas /netonly /user:domainName\userName path
进行网络请求。 - bradenb如果您拥有域和Active Directory,您应该毫不犹豫地选择Windows身份验证...一秒钟也不要考虑其他的!
在安全实现方面,像许多事情一样,你应该做什么取决于你的目标。
从你的问题中我不确定你是否打算将每个用户的凭据传递给 SQL Server,还是计划使用 Windows 身份验证或 SQL Server 身份验证进行单个登录。如果你选择后者,SQL Server 身份验证可能是更好的选择,因为它限制了网络帐户。如果你选择前者,Windows 身份验证可能更适合你的用户,因为它提供了单点登录。
顺便说一下,我的个人偏好是让每个应用程序使用自己的一组凭据进行数据库交互。这限制了用户只能拥有应用程序提供给他们的权限。通过这种方式,你的用户不必担心对数据库进行身份验证,因为你的应用程序会为他们处理这些事情。
考虑到您有一个直接连接数据库的桌面前端...最好的选择是使用Windows身份验证。请注意,这样做用户可以绕过前端并直接访问数据库。您需要授予他们所需的最低数据库权限。此外,您还需要使用AD安全组而不是添加每个用户。
当您控制配置文件时,Sql身份验证是最好的选择...例如Web应用程序。