使用Windows身份验证.NET Core从Active Directory获取用户数据

时间:2018-08-23 12:09:46

标签: c# asp.net-identity asp.net-core-2.0 windows-authentication asp.net-core-webapi

我正在从事需要访问Active Directory并从那里获取用户数据(例如电话簿)的项目。在项目创建时设置了Windows身份验证[WA],它将以某种格式自动以以下格式自动获取我当前登录到计算机的帐户:

[DOMAIN] [用户名]

我不知道它是否已经在与AD通信或仅与当前的Windows登录名通信。我的目标是能够从内部和外部连接登录到AD,并根据AD的角色获取数据。

默认程序使用Razor获取类似的信息:

@User.Identity.Name

所以我能够像这样提取用户名:

AppUser temp = new AppUser
        {
            Username = ClaimsPrincipal.Current.Identity.Name                          
        };

但这显然不足以解决这个问题,而且这也无法使我通过广告。凭据在计算机和AD上都是相同的,因此从理论上讲应该是可能的。

我的目标是通过Windows身份验证对内部站点进行身份验证,而无需再次登录,但是从外部站点进行访问时,它仍然需要凭据。这是当前活动项目的扩展,因此大部分后端都已编写,因此如果可以通过将当前接口与下面的新服务一起使用来实现这一点,那就太好了。

谢谢。

0 个答案:

没有答案