Azure Active Directory登录
我是Azure Active Directory登录的新手,我尝试了使用“云 - 单一组织”身份验证的MVC 5应用程序。Azure Active Directory登录
在我的天蓝色帐户中,我已经在默认的活动目录文件夹中设置了多个用户。他们中很少有人通过向导添加为“组织中的新用户”,这些用户来自Windows Azure Active Directory,其中很少一部分来自实际的Microsoft帐户。
当我启动应用程序,并登入,从Windows Azure的Active Directory的来源,我得到登录一个和应用程序上说右上角的“你好,[email protected]”
但是,当我从Microsoft帐户登录时,我也登录,但在右上角应用程序显示'您好,!'没有真实的帐户名称。只是感叹号。我想这不是正确的行为,对吧?
我使用VS2013社区版,并通过IIS直接从VS启动应用程序。
UPDATE:
似乎对这些都对列为微软帐户来源Azure的Active Directory帐户,应用程序无法获取任何信息 - 因此User.Identity.Name为空或空。有人有线索吗 ?
感谢
我得到了salution :)
在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));
}
}
此方法不是惯用的ASP.NET MVC,因为它使用Global.asax而不是OWIN管道。 – Dai
嗨,我也面临同样的问题。当我有用户键入“我的组织中的新用户”一切正常。但是当我有用户类型=“用户与现有的Microsoft帐户”登录工程文件,但我得到User.Identity.Name = null ..请让我知道,如果你得到的解决方案。 – Mahesh
如果波纹管的答案为你工作,那么请标记为答案! – Mahesh