这个问题有点像诺贝尔,但我无法通过互联网找到这些信息(也许我错误地搜索了?)
我们已配置Azure ACS,并将其用作我们网站的身份验证服务。 但现在我们需要构建一个应用程序,通过已知的用户名和密码,它将从ACS接收用户声明。这可能吗?
答案 0 :(得分:1)
是的,这是可能的。
有一点需要注意 - 使用ACS,您可以选择允许的各种不同的令牌提供程序(也称为STS-es)。其中每一个都为您提供了一组不同的声明,因此您可能需要丰富这些声明。
以下是一段代码,您可以尝试在代码中查看来自ACS的声明:
// NOTE: This code makes the assumption that you have .NET 4.5 on the machine. It relies on
// the new System.Security.Claims.ClaimsPrincipal and System.Security.Claims.ClaimsIdentity
// classes.
// Cast the Thread.CurrentPrincipal and Identity
System.Security.Claims.ClaimsPrincipal icp = Thread.CurrentPrincipal as System.Security.Claims.ClaimsPrincipal;
System.Security.Claims.ClaimsIdentity claimsIdentity = icp.Identity as System.Security.Claims.ClaimsIdentity;
// Access claims
foreach (System.Security.Claims.Claim claim in claimsIdentity.Claims)
{
Response.Write("Type : " + claim.Type + "- Value: " + claim.Value + "<br/>");
}
亚当霍夫曼
Windows Azure博客 - http://stratospher.es
Twitter - http://twitter.com/stratospher_es