c# - 如何在不登录的情况下对 ASP.NET Core 应用程序中的 Active Directory 组进行身份验证?
问题描述
我目前正在构建一个 Intranet 应用程序,现在希望将其锁定到特定 Active Directory 组的成员,如果用户不是该组的成员,则会返回错误页面。
我正在使用带有 Razor Pages 的 ASP.NET Core,到目前为止我发现的信息似乎是零散的。正在使用的 AD 在本地而不是 Azure。
解决方案
基本上你可以使用 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
干杯。
推荐阅读
- r - 如何在没有换行符的情况下为闪亮的 htmlTemplate 添加价值
- c# - 可空引用类型的条件编译
- c# - Azure 存储服务 API 调用:如何使用 NextPartitionKey 和 NextRowKey?
- python - 千位分隔符正则表达式
- python - 使用 __init__() 中的请求数据更改 django 表单中的输入内容
- jmeter-5.0 - 分布式测试模式下的 Jmeter 5.2.1 - 在查看结果树中看不到响应数据
- javascript - 渲染一个反应组件 n 次
- ios - 如何从 iOS Swift 中的可编码模型创建嵌套 json?
- regex - 操作字符串以创建新列 pandas 的更好方法
- azure-devops - Azure Rest API 问题