【发布时间】:2021-06-17 13:46:32
【问题描述】:
我想在我的 .NET Core MVC 5 Web 应用上使用 Windows 身份验证。允许特定域用户和 AD 组。
我在根目录中添加了一个 web.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="mydomain\username1, mydomain\username2" />
<deny users="?" />
</authorization>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
</system.web>
</configuration>
我将此添加到 startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddAuthentication(IISDefaults.AuthenticationScheme);
}
我在我的控制器中添加了这个
[Authorize(Roles = @"mydomain\ADgroupName")]
[Authorize(Users = @"mydomain\username1")]
public class HomeController : Controller
在项目属性中,我禁用了匿名身份验证并启用了 Windows 身份验证。
我添加了对Microsoft.AspNetCore.Authentication的项目引用。
说完后,我收到错误“找不到类型或命名空间‘用户’”。
我在这里错过了什么?
【问题讨论】:
标签: asp.net-mvc-5 asp.net-core-mvc