.NET Core 3.1为我的Intranet REST端点添加安全性,针对Windows服务帐户/ Active Directory进行身份验证

问题描述

我使用本文中的第一个答案来利用政策策略:Override AuthorizeAttribute in ASP.Net Core and respond Json status

我已经为此工作了几天,无法找到正确的解决方案。当我添加授权并添加我的Active Directory组并通过Web客户端Swagger端点时,它对我的​​身份进行了很好的验证。但是我试图包括使用HTTP客户端调用我的新REST端点的Windows服务(WCF应用)的权限。它不会将服务帐户标识为进行REST调用用户。我需要添加HttpClient对象以使其通过服务帐户身份吗?还是其他想法?

我公司中的某些组不希望访问我的新REST服务,但是某些旧代码仍需要具有调用新端点的权限(该端点以前也为WCF)。

解决方法

尝试通过在admin cmd上使用netsh添加端点http,

https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-http

示例

以下是show urlacl命令的三个示例。

add urlacl url=https://+:80/MyUri user=DOMAIN/USER
add urlacl url=https://www.contoso.com:80/MyUri user=DOMAIN/USER
show urlacl

您也可以只使用“所有人”代替“域/用户”

看看这是否适合您。或可能有所不同。