HTTP Error 401.1 - Unauthorized:Access is denied due to invalid credentials

现象:站点设定为AD整合认证,但是访问的时候还是提示输入账号密码。三次后出现错误。

方案:在C:\Inetpub\Adminscripts下面运行: cscript adsutil.vbs set w3svc/NTAuthenticationProviders"NTLM"修改验证机制。

 

原文如下:

http://support.microsoft.com/kb/871179

 

 

尝试访问作为 IIS6.0 应用程序池的一部分的网站时收到错误消息:“HTTP Error 401.1 - Unauthorized:Access is denied due to invalidcredentials”HTTP 错误 401.1 - 未授权: 由于凭据无效,访问被拒绝)

查看本文应用于的产品

展开全部 | 关闭全部

症状

在尝试访问被配置为只使用集成 Windows 身份验证的 Microsoft Internet 信息服务 (IIS) 6.0 网站时,系统将提示您输入用户凭据。...

在尝试访问被配置为只使用集成Windows 身份验证的 Microsoft Internet 信息服务 (IIS) 6.0 网站时,系统将提示您输入用户凭据。尝试登录时,将再次收到登录提示。在进行三次登录尝试后,将收到以下错误消息:

HTTP 错误 401.1 - 未授权:由于凭据无效,访问被拒绝。

回到顶端

原因

如果存在以下情况,则可能发生此问题: IIS 6.0 网站是 IIS 应用程序池的一部分。应用程序池在本地帐户或域用户帐户下运行。网站被配置为只使用集成 Win...

如果存在以下情况,则可能发生此问题:

·        IIS 6.0 网站是 IIS 应用程序池的一部分。

·        应用程序池在本地帐户或域用户帐户下运行。

·        网站被配置为只使用集成 Windows 身份验证。

在此情况下,当集成 Windows 身份验证尝试使用 Kerberos 时,Kerberos 身份验证可能不起作用。要使用 Kerberos 身份验证,服务必须在 Active Directory 目录服务中的帐户(运行服务所使用的帐户)下注册服务的服务主体名称 (SPN)。默认情况下,Active Directory 注册网络基本输入/输出系统(NetBIOS) 的计算机名称。Active Directory 还允许网络服务或本地系统帐户使用 Kerberos

回到顶端

解决方案

如果在本地帐户下运行应用程序池时出现此问题,请按照替代方法部分中的步骤进行操作。在域用户帐户下运行应用程序池时,要解决此问题,请使用 NetBIOS 名称和...

如果在本地帐户下运行应用程序池时出现此问题,请按照替代方法部分中的步骤进行操作。

在域用户帐户下运行应用程序池时,要解决此问题,请使用 NetBIOS 名称和运行应用程序池所使用的域用户帐户的完全限定域名 (FQDN)来设置 HTTP SPN。为此,请在域控制器上按照下列步骤进行操作:

重要说明:服务的 SPN 只能与一个帐户关联。因此,如果使用此建议的解决方案,则在不同域用户帐户下运行的任何其他应用程序池都不能只与集成 Windows 身份验证一起使用。

1.       安装Setspn.exe 工具。要获取 Microsoft Windows 2000 版本的此工具,请访问以下Microsoft 网站:

http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en)

Windows Server 2003 CD 上包括的“Windows Server 2003 SupportTools”Windows Server 2003 支持工具)中提供了 Microsoft WindowsServer 2003 版本的 Setspn.exe 命令行工具。要安装这些工具,请双击 Support/Tools 文件夹中的 Suptools.msi 文件。

2.       打开一个命令提示符窗口,然后改为 Setspn.exe 的安装目录。

3.       在命令提示符处,键入下列命令。在键入每个命令后按 Enter

setspn.exe -a http/IIS_computer's_NetBIOS_nameDomainName\UserName

setspn.exe -a http/
IIS_computer's_FQDN DomainName\UserName

注意UserName是运行应用程序池所使用的用户帐户。

在将 HTTP 服务的 SPN 设置为运行应用程序池所使用的域用户帐户后,便可以成功地连接到网站,而不会提示您输入用户凭据。

回到顶端

替代方法

在具有多个在不同域用户帐户下运行的应用程序池的情况下,若要解决此问题,则必须强制 IIS NTLM 用作身份验证机制(如果您希望只使用集成 Windows...

在具有多个在不同域用户帐户下运行的应用程序池的情况下,若要解决此问题,则必须强制 IIS NTLM 用作身份验证机制(如果您希望只使用集成 Windows 身份验证)。为此,请在运行 IIS 的服务器上按照下列步骤操作:

1.       打开一个命令提示符窗口。

2.       进行定位,然后改为包含 Adsutil.vbs 文件的目录。默认情况下,该目录是 C:\Inetpub\Adminscripts

3.       键入下面的命令,然后按 Enter

cscript adsutil.vbs set w3svc/NTAuthenticationProviders"NTLM"

4.       要验证 NtAuthenticationProviders 元数据库属性是否设置为 NTLM,请键入以下命令,然后按 Enter

cscript adsutil.vbs get w3svc/NTAuthenticationProviders

应该返回以下文本:

NTAuthenticationProviders       : (STRING) "NTLM"

回到顶端

状态

这种行为是设计导致的。

这种行为是设计导致的。

回到顶端

更多信息

如果只使用运行 IIS 的服务器的 FQDN 来设置 SPN,则在 30 分钟后系统将提示您输入用户凭据。由于 Internet Explorer 缓存域名系统...

如果只使用运行 IIS 的服务器的 FQDN 来设置 SPN,则在 30 分钟后系统将提示您输入用户凭据。由于 Internet Explorer 缓存域名系统 (DNS) 信息的方式的缘故,将出现 30 分钟的超时问题。30 分钟过后,Internet Explorer 将恢复为 NetBIOS 名称。因此,还必须确保使用运行 IIS 的服务器的 NetBIOS 名称注册 SPN,以避免系统提示您输入用户凭据。有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

263558  (http://support.microsoft.com/kb/263558/ ) Internet Explorer 如何对 DNS 主机项使用高速缓存

要为运行应用程序池所使用的用户帐户验证注册的 SPN,请打开一个命令提示符窗口,从 Setspn.exe 的安装目录键入以下命令,然后按 Enter

setspn.exe -l UserName

将返回用户帐户的已注册 SPN 列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值