【发布时间】:2023-03-19 10:58:01
【问题描述】:
我有一个 MS-Access 2007 前端。我将有多个用户。他们都将在网络公司域上。我应该使用 Windows 身份验证还是 SQL Server 身份验证来通过 ODBC 连接到 SQL Server 2008?
【问题讨论】:
标签: sql sql-server sql-server-2008 ms-access odbc
我有一个 MS-Access 2007 前端。我将有多个用户。他们都将在网络公司域上。我应该使用 Windows 身份验证还是 SQL Server 身份验证来通过 ODBC 连接到 SQL Server 2008?
【问题讨论】:
标签: sql sql-server sql-server-2008 ms-access odbc
Windows 身份验证将允许更无缝的身份验证过程,单点登录!
来自以下文章:
SQL Server 身份验证的缺点
SQL Server 身份验证的优势
这里有一篇很好的文章,介绍了每个人的优缺点。 http://technet.microsoft.com/en-us/library/ms144284.aspx
【讨论】:
达斯汀列出了一份很好的利弊清单。我知道没有人愿意为您做出这样的决定,但要根据您的标准(多个用户,都在公司域上);我想不出使用 SQL Server 身份验证而不是 Windows 身份验证的单一理由。它主要是为这样的场景设计的。
【讨论】:
runas /netonly /user:domainName\userName path 以该域上的用户身份启动您的应用程序以进行网络请求
如果您有一个域和 Active Directory,那么您不应该甚至想到 Windows 身份验证以外的其他东西......一秒钟都不要!
【讨论】:
与安全实施的许多事情一样,您应该做什么取决于您的目标。
我不确定您是否打算将每个用户的凭据传递给 SQL Server,或者您是否计划使用 Windows 身份验证或 SQL Server 身份验证进行单次登录。如果您选择后面的选项 SQL Server 身份验证可能是要走的路,因为它限制了网络帐户。如果您选择以前的 Windows 身份验证可能更适合您的用户,因为它提供单点登录。
顺便说一句,我个人的偏好是让每个应用程序使用自己的一组凭据进行数据库交互。这将用户限制为仅具有应用程序提供给他们的权限。通过这种方式,您的用户无需担心对数据库的身份验证,因为您的应用程序会为他们处理这些问题。
【讨论】:
看到你有一个直接连接到数据库的桌面前端......你最好的选择是使用 windows auth。请记住,通过这样做,用户可以绕过前端并直接访问数据库。您需要授予他们所需的最低数据库权限。此外,您需要使用 AD 安全组,而不是添加每个用户。
Sql auth 最适合您控制配置文件...例如 Web 应用程序。
【讨论】: