【发布时间】:2019-05-03 17:41:30
【问题描述】:
我创建了一个 .Net Core 2.2 MVC Web 应用(实体框架和 Razor 页面)。
该应用托管在使用 IIS 的 Windows 2016 Server 上,属于我们的 Windows AD 域。
应用程序在不使用身份验证或匿名身份验证的情况下运行良好。
但是现在,我想为其中一个控制器启用安全性,以便登录到我们域中其工作站的 AD 用户可以访问它。
所以我遵循了这个教程:
我将我的 Startup 类设置为在 ConfigureServices 中包含所需的条目:
Startup.cs:
using Microsoft.AspNetCore.Server.IISIntegration;
public void ConfigureServices(IServiceCollection services)
{
//...
services.AddAuthentication(IISDefaults.AuthenticationScheme);
//...
}
这是具有我想要锁定的一种方法的控制器:
ResearchController.cs:
using Microsoft.AspNetCore.Authorization;
public class SecuredOptionsController : Controller
{
[Authorize(Roles = "FrankJ, AliceR")]
[HttpPost]
public async Task<IActionResult> AccessSecretData(DateTime? start, DateTime? end)
{
return View();
}
}
我只希望两个域用户能够访问: 我将 FrankJ 和 AliceR AD 域帐户添加到 Windows Server 的用户帐户部分。
当我点击那个控制器时,确实会出现一个登录提示,但是当我输入 FrankJ 或 AliceR 的凭据时,它永远不会起作用。我试过只使用“FrankJ”,也试过“TheDomain/FrankJ”
我错过了什么?
【问题讨论】:
标签: active-directory asp.net-core-2.0 windows-authentication