2011-04-25 95 views
0

我正在開發一個網站,在這個網站中I M建立一個功能來捕捉頁面的截屏。首先,我在我的網站上使用表單身份驗證。窗體身份驗證問題與web瀏覽器類在asp.net

因此,當用戶登錄到該網站,他/她必須輸入憑據,然後去他們的個人資料頁面。

所以,現在我只是創建使用WebBrowser控件在用戶個人資料頁面的縮略圖,但問題是,我爲使用窗體身份驗證和它總是捕捉由於窗體身份驗證的登錄表單頁面。

所以請儘快幫我。

回答

0

在這種情況下,你需要爲程式設計窗體身份驗證進行登錄。這是將要求的一段代碼。

FormsAuthentication.SetAuthCookie(UserName, false); 

而這裏更多信息 http://weblogs.asp.net/joseguay/archive/2009/03/23/the-asp-net-capsule-2-login-programmatically-with-forms-authentication.aspx

但是,要知道,你正在使用的創建截圖的代碼可能無法與它順利。所以照顧這個。這些職位可能會幫助你在這種情況下Send credentials to WebBrowser

+0

但我的問題是如何使用WebBrowser的表單身份驗證 – Anil 2011-04-25 09:31:15

0

您必須通過瀏覽器控件模擬窗體身份驗證 - 本質上,使用文檔對象模型(Document property)來查找用戶名/密碼輸入框,設置其值和觸發提交(或注入java腳本做表單提交或使用DOM來模擬登錄按鈕點擊)。

IMO,更好的辦法是使用WebRequest(HttpWebRequest)模擬POST登錄頁面進行身份驗證,然後向用戶配置文件頁面發出請求。獲取頁面html(來自響應)並使用DocumentText屬性將其加載到Web瀏覽器控件中。

在情況下,你必須在服務器站點控制,您可以修改用戶個人資料頁面,允許在某些要求未認證的訪問(例如,從本地計算機或指定的IP等)。

+0

看到我的網址將是這樣的,我打電話給MyBrowser.Navigate(「http:// localhost:3143/Artist/ArtistProfile.aspx?UserId = 16」) ;所以當webbrowser在內部調用該頁面時,由於表單身份驗證而進入登錄頁面,所以請告訴我該怎麼做。 – Anil 2011-04-25 12:03:16

+0

@Anil,一旦進入登錄頁面,您必須使用DOM來提供憑據等等。或者,使用WebRequest類來執行POST請求登錄頁面,然後GET請求到用戶配置文件頁面 - 從響應中獲取html並加載進入WebBrowser控件。 – VinayC 2011-04-26 04:07:40