我有一個應用程序,我希望允許用戶輸入他們自己網站的登錄詳細信息。其中一種認證方法是'表格'。我設想它的工作方式是,用戶輸入其登錄表單的方法&動作,以及每個憑證項目的名稱/值,例如,一個用於用戶名,一個用於密碼。然後,我的應用程序會發布這些數據以模擬登錄,獲取返回的身份驗證Cookie,並能夠像登錄一樣在其網站上工作。將數據發佈到ASP.NET應用程序
原則上,這聽起來像是一種合理的事情。不過,正如我確信你知道的那樣,ASP.NET有很多輸入和隱藏的輸入,例如__VIEWSTATE,無論何時提交ASP.NET表單,它們都始終回發到服務器,例如當一個real用戶登錄。然而,當我的應用程序嘗試登錄時,它沒有該頁面上的所有輸入列表及其值,例如,總是在變化__VIEWSTATE。
我的問題:有沒有辦法將數據發佈到一個ASPX頁面,發佈只有某些輸入,並排除其他,例如, __VIEWSTATE?
如果頁面是PHP,它可能看起來像這樣:
Ex。 1:
...
<div id="header">
<form action="search.php" action="POST">
<div id="search">
<input type="text" name="query" id="SearchQueryText" value="Search query" />
<input type="button" name=submit" id="SearchSubmitButton" value="Search!" />
</div>
</form>
<form action="login.php" action="POST">
<input type="text" name="uname" id="Username" value="Username" />
<input type="text" name="passwd" id="Password" value="Password" />
<input type="button" name=submit" id="LoginSubmitButton" value="Login" />
</form>
...
</div>
...
在ASP.NET Web窗體
,但是,通過使用服務器控件,它很可能是這樣的:
例。 2:
...
<body>
<form name="AspNetForm" method="post" action="/Products/SomethingOrOther.aspx" id="Form" enctype="multipart/form-data">
<div id="header">
<div id="search">
<input type="text id="ctl00$SearchComponent$SearchBox" name="ctl00$SearchComponent$SearchBox" value="Search query" />
<input type="submit" id="ctl00$SearchComponent$SearchSubmit" name="ctl00$SearchComponent$SearchSubmit" value="Search!">
</div>
<div id="login">
<input type="text id="ctl00$LoginComponent$Username" name="ctl00$LoginComponent$Username" value="Username" />
<input type="text" id="ctl00$LoginComponent$Password" name="ctl00$LoginComponent$Password" value="Password">
<input type="submit" id="ctl00$LoginComponent$LoginSubmit" name="ctl00$LoginComponent$LoginSubmit" value="Login">
</div>
</div>
...
</form>
</body>
...
實施例1,提交登錄表單正在發佈的簡單情況UNAME =東西&的passwd =什麼東西把login.php中,然而,在ASP.NET,因爲所有的輸入被包裹在一個'全球'<form>
,要提交登錄輸入,您必須提交全局表單,並因此提交所有輸入。
所以,我所追求的是一種提交只有這種全球形式的某些輸入,例如,而不是__VIEWSTATE,如果沒有事先探測網頁,我們就無法知道。
如何使用webservices進行身份驗證? – jaderanderson 2010-11-25 19:06:05
@jaderanderon每個站點都通過Web服務提供身份驗證邏輯嗎?是的,在一個理想的世界裏,這將是我該怎麼做的,但是,我希望系統與* all *表單認證系統兼容。自定義構建,ASP.NET登錄控件等。,唯一的共同點是通過標準化((X)HTML/HTTP POST)的表單提交用戶數據。 – oloftus 2010-11-25 22:23:14