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