Azure Active Directory登录

时间:2015-04-19 22:03:21

标签: azure-active-directory

我是Azure Active Directory登录的新手,我使用“云 - 单一组织”身份验证尝试了MVC 5应用程序。

在我的azure帐户中,我在默认的活动目录文件夹中设置了多个用户。其中很少有人通过向导添加为“组织中的新用户”,这些用户来自Windows Azure Active Directory,其中很少来自实际的Microsoft帐户。

当我启动应用程序并以Windows Azure Active Directory中的一个来源登录时,我会登录并且应用程序在右上角显示'Hello,john.doe @ domain.com'

但是,当我从Microsoft帐户登录时,我也登录,但在右上角,应用程序显示为“你好!”没有真实的帐户名称。只是感叹号。我想这不是正确的行为,对吗?

我正在使用VS2013社区版,并通过IIS express直接从VS启动应用程序。

更新:

对于Azure Active Directory上列出的来自Microsoft Account的帐户,应用程序似乎无法检索任何信息 - 因此User.Identity.Name为空或null。有没有人有线索?

由于

1 个答案:

答案 0 :(得分:3)

我得到了礼貌:)

在global.asax

中添加此块
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
{
    ClaimsIdentity id = ((ClaimsIdentity)User.Identity);
    Claim claim = id.FindFirst(ClaimTypes.Email);
    if (claim != null)
    {
        string email = claim.Value;
        id.AddClaim(new Claim(ClaimTypes.Name, email));
    }
}