将查询字符串参数从SharePoint传递到ADFS

时间:2012-09-14 13:35:25

标签: sharepoint single-sign-on adfs

用于对SharePoint应用程序的访问者进行身份验证的Idp需要一个用于控制内容的自定义查询字符串参数。我可以在访问SharePoint的STS之前使用http模块附加参数,但在进入adfs之前将其删除。在Fiddler,它看起来像这样:

以下是SharePoint中/ _trust的最后一次GET,而Query String参数是

GET /_trust/default.aspx?trust=ADFS01&ReturnUrl=/abc/_layouts/Authenticate.aspx?Source=%2Fabc&Source=/abc&whr=https%3A%2F%2Fwww.customidp.com%2FBrandedSTS%2F&parametercode=abc HTTP/1.1

trust       ADFS01
ReturnUrl   /abc/_layouts/Authenticate.aspx?Source=/abc
Source      /abc
whr     https://www.customidp.com/BrandedSTS/
parametercode   abc

但是对ADFS的GET最终会放弃它。

GET /adfs/ls/?wa=wsignin1.0&wtrealm=urn%3awww%3aportal%3acom&wctx=https%3a%2f%2fwww.portal.com%2fabc%2f_layouts%2fAuthenticate.aspx%3fSource%3d%2fabc&whr=https%3a%2f%2fwww.customidp.com%2fBrandedSTS%2f HTTP/1.1

wa  wsignin1.0
wtrealm urn:www:portal:com
wctx    https://www.portal.com/abc/_layouts/Authenticate.aspx?Source=/abc
whr https://www.customidp.com/BrandedSTS/

我想知道是否有人知道如何让SharePoint的STS传递任何查询字符串参数,或者是否可以将Http模块添加到STS来实现此目的。

1 个答案:

答案 0 :(得分:1)

因为代码“abc”包含在wctx参数中,我们最终使用RegEx将其从Global.asax中取出并将其附加到我们的STS的URL。