【发布时间】:2013-01-28 10:24:11
【问题描述】:
我正在使用访问控制服务 (ACS)。我将 MVC-4 应用程序配置为使用 ACS。我将返回 url 放到我的控制器中,即http://127.0.0.1:81/ACS/LogOn,在使用任何身份提供者登录后,我们成功返回到控制器。但是现在谁能告诉我如何在控制器中访问颁发的令牌?
【问题讨论】:
标签: c# asp.net-mvc azure acs
我正在使用访问控制服务 (ACS)。我将 MVC-4 应用程序配置为使用 ACS。我将返回 url 放到我的控制器中,即http://127.0.0.1:81/ACS/LogOn,在使用任何身份提供者登录后,我们成功返回到控制器。但是现在谁能告诉我如何在控制器中访问颁发的令牌?
【问题讨论】:
标签: c# asp.net-mvc azure acs
假设您已使用常规的基于 WIF 的机制来配置您的应用以使用 ACS,那么您需要的所有内容都应该可以通过 Thread.CurrentPrincipal 访问。在大多数情况下,您不想要令牌本身,而是想要其中的声明。见this example。
如果您确实需要 XML/字符串形式的底层令牌而不是声明(我大多数时候不建议这样做),那么您可以通过将服务配置中的 SaveBoostrapContext 设置为 true 并访问它来获取它通过声明标识上的BootstrapContext 属性。
Thread.CurrentPrincipal.Identity.BootstrapContext;
【讨论】: