Siteminder excel vba身份验证

时间:2015-10-30 03:01:25

标签: vba rest jira siteminder

我需要使用jira Rest API来获取Excel工作表中的一些内容。问题是服务器启用了siteminder。我使用此代码项目文章作为参考(。http://www.codeproject.com/Articles/80314/How-to-Connect-to-a-SiteMinder-Protected-Resource)但仍然无法访问过去的siteminder登录页面 作为参考,我的代码如下:

Dim http As New WinHttp.WinHttpRequest
http.Option(WinHttpRequestOption_EnableRedirects) = False
url = "http://example.com"
' Launch the HTTP request
http.Open "GET", url, False
http.Send
target=http.GetResponseHeaders("location")//get the target url for post
Cookie=""
postData="USER="&HttpUtility.UrlEncode(username)&"&PASSWORD="&password
http.Open "POST", target, False
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.setRequestHeader "Cookie", Cookie
http.Send postData

第一个http请求将我带到siteminder的userlogin页面,但用户在发布请求后没有得到身份验证。我收到错误登录页面。有关如何让用户进行身份验证的建议吗?

1 个答案:

答案 0 :(得分:0)

取决于site-minder的配置方式,您可能需要尝试连接至jira 1st。握手如下: 连接到其余url,当然会给您302消息,但是捕获该连接的标头/ cookie,因为它很有可能会在Location的标头字段中编码站点提示代理信息。如果您设置正确,则使用帖子将其连接到site-minder登录页面(假定您已从jira connect设置了所有标头和cookie),然后,网站管理员会发出302响应,该响应将向您发送回到吉拉。再次注意您的响应标题和cookie,并确保它们在第二次连接到jira时已设置。假设所有设置都已完成,那么站点管理员代理将看到SMSESSION cookie,并让您转到jira进行其余的调用。我见过的最好的调试方法之一是使用IE开发人员工具,然后打开网络部分或Chrome或Firefox中的类似浏览器功能。