首页 > 解决方案 > 如何在不登录的情况下对 ASP.NET Core 应用程序中的 Active Directory 组进行身份验证?

问题描述

我目前正在构建一个 Intranet 应用程序,现在希望将其锁定到特定 Active Directory 组的成员,如果用户不是该组的成员,则会返回错误页面。

我正在使用带有 Razor Pages 的 ASP.NET Core,到目前为止我发现的信息似乎是零散的。正在使用的 AD 在本地而不是 Azure。

标签: c#asp.net-core

解决方案


基本上你可以使用 IIS 或 Http.sys -> https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-2.2&tabs=visual-studio

在使用 IIS 的情况下,如果您想为整个应用程序授予对单个 AD 组的访问权限,您只需启用 Windows 身份验证并将以下内容添加到 web.config 中:

  <authorization>        
        <deny users="?"/>        
        <allow roles="YourDomain\YourAdGroup" />
        <deny users="*" />
  </authorization>

如果您希望为不同的控制器操作设置不同的组,请查看这篇文章ASP.NET Core Authorize AD Groups through web.config

干杯。


推荐阅读