[英]How can I login into web application with SAML using system credentials in java
[英]I want to login to a web page by passing credentials from java application
我想通過從Java應用程序傳遞憑據來登錄網頁嗎? 我正在使用以下代碼,但出現一些錯誤:
HttpClient client = new HttpClient();
client.getParams().setParameter("User Name", "user");
client.getParams().setParameter("Password", "password");
GetMethod request = new GetMethod("url");
錯誤:信息:沒有憑據可用於NTLM @ 192.168.224.142:7048
我也嘗試了以下代碼:
HttpClient client = new HttpClient();
client.getState().setCredentials(AuthScope.ANY, new NTCredentials("user", "password", "ip:port", "http"));
GetMethod request = new GetMethod("url");
錯誤:INFO:使用NTLM進行身份驗證失敗
通過從Java應用程序傳遞憑據來建議登錄網頁的方法?
您正在將用戶憑據作為GET請求參數傳遞。 該網站需要基於NTLM的身份驗證(用戶名和密碼不會發送到服務器)。
使用org.apache.http.auth.NTCredentials
存儲您的用戶名和密碼。
NTCredentials userCredentials = new NTCredentials(userName, password,
System.getProperty("COMPUTERNAME"), domain);
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST,
AuthScope.ANY_PORT), userCredentials);
HttpClientContext httpClientContext = HttpClientContext.create();
httpClientContext.setCredentialsProvider(credentialsProvider);
HttpClient httpClient = HttpClientBuilder.create().
setDefaultCredentialsProvider(credentialsProvider).build();
可以根據您的需要隨意修改AuthScope
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.