在ASP.NET Core应用程序中使用标准Active Directory?

时间:2016-03-31 23:06:41

标签: asp.net active-directory visual-studio-2015 asp.net-core asp.net-core-mvc

我正在创建一个新的ASP.NET Core 1.0应用程序。其中一个要求是使用Active Directory进行用户身份验证。不幸的是,我们的组织只使用“旧”Active Directory。我们根本不使用Azure Active Directory。

在Visual Studio 2015中创建新项目时,“更改身份验证”下没有此选项:

enter image description here

最好的方法是什么?

2 个答案:

答案 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?