【发布时间】:2014-03-10 15:49:07
【问题描述】:
我正在开发一个 MVC4 应用程序,该应用程序使用 ADFS 对 corp 域用户进行身份验证,并且我已经编写了代码,但我收到了如下错误,我没有收到索赔吗?
System.InvalidCastException:无法将“System.Security.Claims.ClaimsPrincipal”类型的对象转换为“Microsoft.IdentityModel.Claims.IClaimsPrincipal”类型。
public ActionResult Index()
{
try
{
IClaimsPrincipal principal = (IClaimsPrincipal)Thread.CurrentPrincipal;
IClaimsIdentity identity = (IClaimsIdentity)principal.Identity;
if (String.IsNullOrEmpty(identity.Claims[0].Value.Split('@')[0]))
{
ViewData["Message"] = string.Format("You are email is :{0}", identity.Claims[0].Value.Split('@')[0]);
}
else
{
ViewData["Message"] = "You are not getting any claims";
}
}
catch (Exception ex)
{
ViewData["Message"] = "Something wrong.";
}
return View();
}
【问题讨论】:
标签: asp.net-mvc-4 azure azure-web-roles