簡體   English   中英

以編程方式登錄網站並將用戶重定向到登錄頁面?

[英]Programmatically login to a website and redirect the user to the logged in page?

現在,我讓公司的所有員工都使用公司ID,用戶名和密碼登錄到外部網站。 我們正在嘗試將其集成到Intranet門戶中,該門戶應提供對該網站的無縫訪問,而無需用戶輸入這些憑據。

有什么方法可以通過編程(.NET C#)來做到這一點? 與屏幕抓取非常相似,是否可以模擬適當的POST操作,然后將用戶重定向到登錄頁面?

任何幫助表示贊賞。

謝謝。


您可以在頁面中創建一個<form> ,以使用相同的action=屬性來鏡像外部網站的登錄表單,然后使用Javascript填寫並提交。

請注意,這要求您將用戶密碼發送到瀏覽器,這絕不是一個好主意。

您當然可以發布到外部網站,當您將用戶重定向到外部網站時,棘手的事情就會出現,因為我認為存在cookie限制。

您也許可以使用Java腳本執行某些操作,以使Client瀏覽器使用正確的憑據直接發布到第三方,然后查看jQuery的Post命令。

假設外部網站以某種方式維護與Cookie的會話,那么問題是,您的公司網站無法設置Cookie(除了從其自己的域中訪問),而且第三方網站無法讀取Cookie(除了從其自己的域中),因此您不能將Cookie轉移或傳遞給您的用戶。

該技術的名稱是Single Sign-On 沒有一種方法可以做到,但是新興的標准稱為SAML 這要求參與兩個部分(發起者和目標網站),因此可能超出您當前的權限。

就像這里提到的其他兩個答案一樣,您可以將格式化的請求直接發布到登錄腳本的操作中,但是我可以從經驗中告訴您,該解決方案將很脆弱,也就是說,它將粉碎目標網站執行的第二步任何變化。

最好的選擇是與目標網站的管理員聯系,並詢問他們是否具有SSO (Single Sign On)解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM