授权不';无法在IIS中使用Windows身份验证
我试着在IIS中做一些我认为很简单的事情,但我无法让它工作 我用简单的html+js页面和WebAPI后端创建了一个网页。(这意味着我有一个简单的旧html页面和一个JavaScript文件,它使用AJAX回调同一服务器从后端获取数据。后端是用C#编写的,带有.NET Framework 4.7和当前版本的ASP.NET。它不是MVC,不是.NET Core,也不是ASP.NET Core。) 现在我想只允许本地网络上的一些用户使用这个网页,我希望可以在web.config文件中进行配置。IIS在域中的计算机上运行,因此我在其web.config中设置web应用程序以使用Windows身份验证,并在授权部分提供允许的用户列表(用户帐户与web服务器位于同一域中)。我认为这会阻止其他用户访问web,但显然所有经过身份验证的用户都可以显示它。因此,Windows身份验证似乎工作正常,但没有执行授权检查,并且允许所有用户。在这种html+js+webapi场景中,可以在web.config中轻松完成这项工作吗 当前,web.config中的相关部分如下所示:授权不';无法在IIS中使用Windows身份验证,iis,asp.net-web-api,authorization,windows-authentication,Iis,Asp.net Web Api,Authorization,Windows Authentication,我试着在IIS中做一些我认为很简单的事情,但我无法让它工作 我用简单的html+js页面和WebAPI后端创建了一个网页。(这意味着我有一个简单的旧html页面和一个JavaScript文件,它使用AJAX回调同一服务器从后端获取数据。后端是用C#编写的,带有.NET Framework 4.7和当前版本的ASP.NET。它不是MVC,不是.NET Core,也不是ASP.NET Core。) 现在我想只允许本地网络上的一些用户使用这个网页,我希望可以在web.config文件中进行配置。IIS
<system.web>
<compilation targetFramework="4.7.2" />
<httpRuntime targetFramework="4.7.2" />
<authentication mode="Windows" />
<authorization>
<deny users="?" />
<allow users="alloweduser1,alloweduser2" />
</authorization>
</system.web>
试试:
<system.web>
<compilation targetFramework="4.7.2" />
<httpRuntime targetFramework="4.7.2" />
<authorization>
<allow users="domain\alloweduser1,domain\alloweduser2" />
<deny users="*" />
</authorization>
</system.web>
Windows身份验证也必须在IIS端配置,并且必须在IIS端禁用匿名身份验证。因此,不可能只更改web.config文件。您所说的“在IIS端配置”是什么意思?@LexLi yes anonymous在那里被禁用。让我添加一个屏幕截图。所以首先允许用户使用域,然后拒绝*。