我们使用ThinkTecture服务器设置了联邦安全性。
当用户希望访问特定URL时,他们会被重定向到身份提供商服务器(IDP),他们会登录,获得身份验证。
然后,IDP服务器会将用户重定向回该依赖方配置中指定的“重定向URL”。
相反,我希望将其重定向到最初请求的网址。
这可能吗?我已经阅读了一些关于wreply参数的内容,但不确定我如何使用它并在重定向之前拦截原始Web服务器上的身份验证级别调用。
更新 我意识到我的问题是由于我的网址包含哈希值,例如 http://domain.com/#customer/123 ,并且在将散列传递到WIF内的重定向网址后没有任何内容。有关详细信息,请参阅下面的答案。
答案 0 :(得分:3)
由你的应用程序在wctx param中记住这样的上下文信息。如果你在RP中使用WIF,那么这应该是自动完成的。
答案 1 :(得分:3)
我弄清楚发生了什么。我正在使用WIF,而Brock的回答表明它应该自己做所有事情......而且它就是。
通常,如果您请求的网址如下: http://domain.com/page ,并且ThinkTecture中的“重定向到”/“回复”设置只是 http://domain.com/ 。< / p>
然后,当WIF呼叫STS时,它会采用所请求域的路径,在本例中为 / path ,并将其添加到&amp; ru 参数中&amp; wctx 参数。 &amp; wctx 参数将如下所示: rm = 0&amp; id = passive&amp; ru =%2fpage 。
然后在STS进行身份验证后,它会将用户重定向回到回复地址 http://domain.com ,身体参数为 wctx ,WIF会将其选中使用 ru 参数进行另一次重定向。
问题是我的请求网址 http://domain.com/#page ,WIF不包含 #page > ru param。所以我的 ru 参数只是 / ,所以它一直重定向到 http://domain.com ,这是正确的(但不正确)。
猜猜我需要用完整的URL设置ru值...除非有更好的方法。