asp.net-core - Windows 身份验证无法验证系统用户或 ADFS 用户
问题描述
我有一个 aspnetcore2.1 api,并使用以下代码配置了 Windows 身份验证。这应该适用于位于同一网络中的 ADFS 服务器中的所有用户,并且我尝试从中访问站点的计算机包含在 ADFS 服务器的同一域中。
在应用程序的 ConfigureServices 部分中
services.AddAuthentication(IISDefaults.AuthenticationScheme);
services.AddHttpContextAccessor();
并在配置部分
app.UseAuthentication();
我在部署时还为应用程序添加了一个 web.config 文件,如下所示
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="dotnet"
arguments=".\sampleapi.dll"
stdoutLogEnabled="true"
stdoutLogFile=".\logs\stdout"
forwardWindowsAuthToken="true"/>
</system.webServer>
<system.web>
<authentication mode="Windows"/>
<authorization>
<allow users="*"/>
<allow roles="*"/>
</authorization>
</system.web>
现在,当我尝试访问该应用程序时,该站点正在按预期要求提供凭据。
我尝试了机器和 ADFS 服务器帐户中的不同用户帐户,但它们都没有工作。有什么我错过的吗?我已确保 NTLM 是 IIS 配置中提供程序列表中的第一个。我将应用程序池标识更改为自定义用户,该用户来自对当前计算机具有管理员访问权限的 ADFS 用户(这也是站点所在的位置)。
解决方案
推荐阅读
- css - CSS获取类的最后一个孩子
- terraform - 使用版本控制创建 GCS 存储桶
- javascript - 使用 PDF.js 异步加载多个 pdf 文件时获取总页数
- gradle - 从 ktor 提供 kotlin 多平台 javascript
- dockerfile - 从图像中复制多级 dockerfile - 找不到文件
- sql - Oracle SQL 中的案例表达式(Pentaho 报表设计器)
- coldfusion - 基于 currentRow 与前一行值的 CFIF 语句是否符合条件?
- firebase - 在 URL 中发送访问令牌是否安全?Firebase 实时数据库 REST API
- solr - 如何在 Hybris Solr 中使用“嵌套”过滤器进行排序
- reactjs - 在 AWS 上运行的reachJS 应用程序存在延迟问题