0

我尝试在 VB.NET 端使用基本身份验证来登录 Pentaho

我使用 Pentaho 的默认账户进行测试

用户名:乔

密码:密码

我在 VB.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()

运行request.GetResponse()后可以得到成功的结果。所以我认为 Pentaho 登录和身份验证成功

但是当我去http://xxxx:8080/pentaho/Home Pentaho 仍然提示登录页面...</p>

你知道我的代码有什么问题吗?

提前致谢!!

4

2 回答 2

0

不知道你想在这里做什么。你要去哪里 pentaho/Home。在你的代码中?

如果您想在 Pentaho 中以编程方式调用某个 URL,将凭据附加到查询字符串可能更容易。

于 2013-06-24T09:23:25.893 回答
0

您可以使用基本身份验证方法,我已经在下面的帖子中回答了这个问题。 在此处输入链接描述

例如-

WebClient webClient = new System.Net.WebClient();
Uri uri = new Uri("http://serverDomain:8080/pentaho/Home");
//Give user name and password here
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("username:password");
var encodedString = System.Convert.ToBase64String(plainTextBytes);
webClient.Headers["Authorization"] = "Basic " + encodedString;
webClient.Encoding = Encoding.UTF8;
App.WindowManager.ConsoleWrite(uri.ToString());
webClient.UploadStringAsync(uri, "POST", "");
于 2015-08-06T12:41:30.043 回答