0

这个问题有点菜鸟,但我在互联网上找不到信息(也许我搜索错误?)

我们配置了 Azure ACS,并将其用作我们网站的身份验证服务。但是现在我们需要构建一个应用程序,通过已知的用户名和密码,它将接收来自 ACS 的用户声明。这可能吗?

4

1 回答 1

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

于 2012-09-04T19:27:09.900 回答