检索用户声明

时间:2017-02-15 20:52:22

标签: azure authentication asp.net-web-api2 azure-active-directory claims-based-identity

我在startup.auth.cs文件中实现了UseOpenIdConnectAuthentication以启用AAD身份验证,并且我在以下代码中成功登录后检索用户身份:

private ClaimsIdentity GetIdentity(IPrincipal user)
{
    if (user == null)
    {
        return null;
    }

    if (user is ClaimsPrincipal)
    {
        return ((ClaimsIdentity)(user as ClaimsPrincipal).Identity);
    }

    return ((ClaimsIdentity)(user.Identity));
}

当我在azure上发布我的网站并在azure门户网站上启用app身份验证时,(而不是使用UseOpenIdConnectAuthentication代码),身份验证似乎工作正常。但是现在当我在本地运行我的应用程序时,我已经删除了身份验证代码,我无法检索任何用户声明。是否有任何工作可以在本地运行我的应用程序并检索这些声明?

1 个答案:

答案 0 :(得分:0)

  

是否有任何工作可以在本地运行我的应用程序并检索这些声明?

Easy Auth(Azure功能的身份验证/授权)和OWIN组件都为您的Web应用程序提供身份验证。如果您不同时使用它们,那么您需要自己为Web应用程序补充身份验证。否则,您无法检索到任何声明。

有关Easy Auth功能的更多详细信息,您可以参考cgillum的blogs

如果您的意思是要在不使用Azure AD的情况下构建声明应用程序,则可以参考文档How To: Build Claims-Aware ASP.NET Application Using Forms-Based Authentication