我正在创建一个新的ASP.NET Core 1.0应用程序。其中一个要求是使用Active Directory进行用户身份验证。不幸的是,我们的组织只使用“旧”Active Directory。我们根本不使用Azure Active Directory。
在Visual Studio 2015中创建新项目时,“更改身份验证”下没有此选项:
最好的方法是什么?
答案 0 :(得分:3)
目前无法实现。
ASP.NET Core仅支持OpenID Connect OIDC。当前的ADFS版本,您需要在本地单个组织仅支持WSFed,它尚未在Core中实现,并且不太可能通过RTM在Core中实现。 ADFS也支持OAuth,但编写该部分代码的AAD团队一直专注于OIDC。
答案 1 :(得分:1)
ASP.NET Core 1.0 RC2可以利用Windows身份验证。以下代码将使您可以访问Configure()函数中的AD用户标识对象。我还没有发现一种优雅的方法将此标识映射到ApplicationDbContext中的Microsoft.AspNetCore.Identity授权。
app.Use(async (context, next) =>
{
var identity = (ClaimsIdentity) context.User.Identity;
await next.Invoke();
});
我发布了一个您可能想要关注的类似问题: Best practice for storing ASP.NET Core Authorization claims when authenticating users against Active Directory?