我尝试在VB.NET端使用基本身份验证来登录Pentaho
我使用Pentaho的默认帐户进行测试
用户名:joe
密码:密码
我在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://x.x.x.x:8080/pentaho/Home Pentaho仍然提示登录页面...
你知道我的代码有什么问题吗?
提前致谢!!
答案 0 :(得分:0)
不确定你在这里要做什么。你要去哪里pentaho / Home。在您的代码中?
如果您想以编程方式在Pentaho中调用某个URL,则可能更容易将凭据附加到查询字符串。
答案 1 :(得分:0)
您可以使用基本身份验证方法,我已经在下面的帖子中回答了这个问题。 enter link description here
EG -
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", "");