【问题标题】:Retrieving user claims检索用户声明
【发布时间】:2017-02-15 20:52:22
【问题描述】:

我已经在 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 门户上启用应用身份验证(而不是使用 UseOpenIdConnectAuthentication 代码)时,身份验证似乎工作正常。但是现在当我在本地运行我的应用程序时,我已经删除了身份验证代码,并且我无法检索任何用户声明。是否有任何解决方法可以在本地运行我的应用程序并检索这些声明?

【问题讨论】:

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


    【解决方案1】:

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

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

    更多关于Easy Auth功能的细节,可以参考cgillum的blogs

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

    【讨论】:

      猜你喜欢
      • 2015-12-10
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多