在 ASP 中连接到 SQL Server 使用的身份验证方法

 

概要

SQL Server 身份验证(标准安全性)和 Windows NT 身份验证(集成安全性)都是用来从 Active Server Page (ASP) 访问 SQL Server 数据库的 SQL Server 身份验证方法。

注意:本文不适用于 Microsoft Windows 2000 Active Directory 域。本文所讨论的 Microsoft Windows NT 身份验证模式仅适用于 Windows NT 域。

更多信息

SQL Server 身份验证

SQL Server 身份验证依赖于 SQL Server 计算机维护的内部用户列表。该列表不包含 Windows NT 用户并且是特定于 SQL Server 计算机的。可以使用 SQL Server 企业管理器创建和配置用户。要使用此身份验证方法,请执行下列步骤:
如果通过开放式数据库连接 (ODBC) 进行连接,在 ODBC 管理器中配置数据源时,请选择 SQL Server 身份验证。
在 ActiveX 数据对象 (ADO) 连接字符串中,使用 ODBC 时应包括参数“UID”和“PWD”;使用 SQLOLEDB 提供程序时应包括参数“User ID”和“Password”。

Windows NT 身份验证

运行 SQL Server 的计算机允许通过 Windows NT 帐户访问其数据。要启用 Windows NT 身份验证,必须通过 Internet Information Server (IIS) 计算机为 Web 应用程序启用基本身份验证。为此,请执行下列步骤:
1. 启动 Internet 服务管理器。
2. 浏览到网站,右键单击该网站,然后单击属性
3. 单击目录安全性选项卡,单击“匿名访问和身份验证控制”下的编辑,然后选择基本身份验证(密码以明文形式发送)选项。
要配置 IIS 以实现 Windows NT 身份验证,您不能使用 Windows NT 质询/响应 (NTLM) 身份验证。必须使用下面两种 IIS 身份验证方法中的一种:
仅为 Web 应用程序启用基本身份验证。
如果允许用户进行匿名访问,请验证以下内容:
如果在 IIS 中将用户配置为匿名用户,则还必须在运行 SQL Server 的计算机上的 Windows NT 帐户中配置它们。
如果 SQL Server 和 IIS 不在同一台计算机上,则应将用户创建为可访问这两台计算机的域帐户,或者使用同一密码在 SQL Server 计算机和 IIS 计算机上本地创建用户。如果在这两台计算机上本地创建用户,则必须在 SQL Server 计算机上授予该用户本地登录的权限。如果用户是一个域帐户,则必须在 SQL Server 计算机上授予该用户“从网络访问此计算机”的权限。
如果 SQL Server 和 IIS 不在同一台计算机上,则应启动 Internet 服务管理器(位于 Web 应用程序的“目录安全性”属性页上),打开匿名用户帐户对话框,禁用启用自动密码同步选项,然后手动输入帐户密码。
IIS 计算机需要使用该用户密码生成一个在另一台服务器上仍然有效的安全令牌。启用启用自动密码同步选项时,则只能为本地计算机生成令牌。
如果 IIS 和 SQL Server 位于同一台计算机上,则连接字符串和 ODBC 配置数据源(如果适用)中 SQL Server 数据源的名称将是本地名称。
此外,还应执行下列步骤以便在 ASP 中使用 Windows NT 身份验证连接到 SQL Server 计算机:
1. 如果通过 ODBC 进行连接,在 ODBC 管理器中配置数据源时,请选择 Windows NT 身份验证。
2. 在 ActiveX 数据对象 (ADO) 连接字符串中,使用 ODBC 时应省略参数“UID”和“PWD”,使用 SQLOLEDB 提供程序时应省略参数“User ID”和“Password”。
3. 如果使用用于 SQL Server 的 OLEDB 提供程序 (Provider=SQLOLEDB) 进行连接,则连接字符串必须包括“Integrated Security=SSPI”。
4. 在 SQL Server 企业管理器中,将需要通过集成安全性访问的所有 Windows NT 帐户和组添加到登录中,并将它们定义为使用 Windows NT 身份验证。为了简化管理,Microsoft 建议您添加 Windows NT 组而不是单个帐户。在定义帐户时,将权限配置到所有必需的数据库、表和存储过程中。
下列错误消息表明用于 Windows NT 身份验证的 SQL Server 配置存在问题:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '/'.

Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY/ANONYMOUS LOGON'.

你可能感兴趣的:(sql,windows,server,Microsoft,asp,IIS,internet)