我尝试使用基本身份验证通过使用.NET代码登录Pentaho
我的代码是:
Dim request = WebRequest.Create("http://x.x.x.x:8080/pentaho/Home")
Dim authInfo As String = Convert.ToString(userName) & ":" & Convert.ToString(userPassword)
authInfo = Convert.ToBase64String(Encoding.[Default].GetBytes(authInfo))
request.Headers("Authorization") = "Basic " & authInfo
Dim response As WebResponse = request.GetResponse()
您可以看到我使用基本用户名:密码和Base64编码传递授权标题。
代码的最后一行
Dim response As WebResponse = request.GetResponse()
你可以看到我从pentaho服务器得到响应然后分配给变量响应
在跑步中,我发现Pentaho可以返回响应,并将值设置为变量响应。似乎可以认证传递并且我成功登录
但是当我输入链接http://x.x.x.x:8080/pentaho/Home
时,登录页面仍然会提示,我需要再次登录....
你知道我错过了什么代码,以便Pentaho在上面的代码之后无法登录吗? 非常感谢!!!!!
答案 0 :(得分:0)
您是否尝试将其作为参数放在网址中:
?userid=joe&password=password
然而,再次查看它似乎您成功获得登录响应,然后您未登录的下一个请求然后您没有在这两个请求之间保留会话/ cookie。使用httpclient在java中轻松完成,不太确定.net