AD FS 2.0 登录页面是一个小型 ASP.NET Web 应用程序(使用 .NET 2.0),可以对其进行自定义以更改外观和功能。(Microsoft 明确记录了此类自定义:请参阅登录页面自定义及其子页面。)
我有一个场景,其中有多个“家庭领域”(=“Claims Provider Trusts”),并且 AD FS 2.0 使用表单登录(而不是另一个“身份验证处理程序”)。
当页面HomeRealmDiscovery.aspx被点击时,该页面应该以某种方式(例如,通过询问用户)选择一个主域,然后调用SelectHomeRealm()。这通常在某些提交按钮的某些 ASP.NET 事件处理程序中完成。此时,控制权转移到FormsSignIn.aspx页面。
现在在 FormsSignIn 页面上,我想使用在 HomeRealmDiscovery 页面上输入的一些数据(不直接与 AD FS 相关)。但是,我看不到获取该数据的方法。
MSDN 页面“如何:确定如何调用 ASP.NET 网页”解释了如何找出控制权是如何转移的。就我而言,我发现在 FormsSignIn 页面IsPostBack中是假的,PreviousPage是空的,并且IsCallback是假的。(也是IsCrossPagePostBack错误的。)因此,MSDN 页面建议使用“原始请求”调用 FormsSignIn 页面。但事实并非如此,因为我观察到(使用例如 Fiddler)不会通过以任何方式重定向客户端浏览器来传输控制权。所以我希望这是一个“服务器传输”,这样我就可以PreviousPage用来访问 HomeRealmDiscovery 页面实例。(我尝试使用 cookie,但这不起作用,因为浏览器不参与传输。)
因此我的问题是:如何将 AD FS 2.0 HomeRealmDiscovery.aspx 页面中的值传递到其 FormsSignIn.aspx 页面?