1

我想将 Azure ACS 添加到我的一个站点,但遇到了所有魔法问题。我有一个 MVC 应用程序,它使用全局过滤器为请求的生命周期设置自定义 IPrincipal。WIF 的“添加 STS 参考”方法的问题在于它通过 HttpModule 将其短路。

我知道的很多:ACS 将我的 Web 应用程序反弹回我为其配置的 URL,并且该反弹是带有规范化 SAML 令牌的 POST。我对 WIF 设置 cookie 或任何废话不感兴趣……我只想从 POST 中获取我感兴趣的声明,并从那里自己处理设置身份验证的东西。工作流程是什么?该文档很糟糕,并且专注于神奇的“右键单击”解决方案。

4

2 回答 2

2

我认为您的问题有一个非常简单的解决方案:

SecurityTokenValidated使用事件args的属性中提供的信息注册 , 设置为并启动您的登录WSFederationAuthenticationModule逻辑e.CanceltrueClaimsPrincipal

在事件 args 上设置Canceltrue可防止 WIF 创建任何 IPrincipal 或会话,因此您可以自行处理这些内容。

于 2011-07-22T20:32:16.203 回答
1

有很多使用 WIF + MVC 的示例,具有不同级别的控制。我会推荐这些:http: //claimsid.codeplex.com或 Identity Training Kit 中的那些。

WIF 几乎可以为您处理一切。要获得更深层次的可扩展性,您应该查看 Vittorio 的

关于:我只想从 POST 中获取我感兴趣的声明,并从那里自己处理设置身份验证的东西。

您想自己做什么而 WIF 不想做?您会在您的IPrincipal中包含哪些IClaimsPrincipal不提供的功能?

WIF 中有许多旋钮和控制杆,具有各种细粒度控制。如果您分享您想做的事情,它可能会有所帮助。

于 2011-06-11T19:49:59.460 回答