是的,ASP.NET Core身份验证和授权可以与Active Directory进行集成。这可以通过使用Microsoft.AspNetCore.Authentication.ActiveDirectory包来实现。该包包含用于将ASP.NET Core应用程序与指定的Active Directory域集成的中间件。
以下是使用Active Directory进行身份验证和授权的示例代码:
在ASP.NET Core项目中,安装“Microsoft.AspNetCore.Authentication.ActiveDirectory” nuget包。
在Startup.cs中,将ActiveDirectory中间件添加到应用程序中:
using Microsoft.AspNetCore.Authentication.ActiveDirectory; // ...
public void ConfigureServices(IServiceCollection services) { services.AddAuthentication(ActiveDirectoryDefaults.AuthenticationScheme) .AddActiveDirectory(options => Configuration.Bind("ActiveDirectory", options));
// ...
}
"ActiveDirectory": { "DomainName": "mydomain.com", "AutomaticAuthenticate": true, "AutomaticChallenge": true }
在上述示例中,“DomainName”是Active Directory域的名称,“AutomaticAuthenticate”和“AutomaticChallenge”参数设置为true,以便在需要时自动执行身份验证和重定向。
[Authorize]
现在,当用户尝试访问需要授权的位置时,他们将被重定向到Active Directory登录页面。如果他们在Active Directory中有有效凭据,则他们将被授权访问所需的资源。