0

我尝试使用基本身份验证通过 .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 编码的 Basic username:password 传递了授权标头。

对于上述代码的最后一行

Dim response As WebResponse = request.GetResponse()

你可以看到我从 pentaho 服务器得到响应然后分配给变量响应

在运行中,我发现Pentaho可以返回response并将值放入变量response中,认证通过,我登录成功。

但是当我输入链接时http://x.x.x.x:8080/pentaho/Home ,登录页面仍然提示,我需要再次登录....

你知道我遗漏了哪些代码,因此 Pentaho 在上述代码之后无法自动登录吗?非常感谢!!!!

4

1 回答 1

0

您是否尝试将其作为参数放在 url 中,即:

?userid=joe&password=password

但是,再次查看它,如果您成功获得登录响应,那么您未登录的下一个请求则您没有保留这两个请求之间的会话/cookie。使用httpclient在java中轻松完成,对.net不太确定

于 2013-06-24T18:30:12.193 回答