私は、ユーザーが自分のWebサイトのログインの詳細を入力できるようにするアプリケーションを用意しています。認証方法の1つが「フォーム」です。私がそれが働いていると想定したのは、ユーザがメソッド&のログインフォームのアクションを入力し、各クレデンシャルアイテムの名前/値です。 1つはユーザー名用、もう1つはパスワード用です。私のアプリケーションは、ログインをシミュレートし、返された認証クッキーを取得し、ログインしたかのように自分のサイトで作業できるように、このデータをポストします。ASP.NETアプリケーションへのデータの投稿
原則として、これは妥当な種類のように聞こえました。しかし、あなたが知っていると確信しているように、ASP.NETには多くの入力があります。 __VIEWSTATEは、ASP.NETフォームが送信されるたびに常にサーバーに返信されます。しかし、realユーザがログインしたとき。私のアプリがログインしようとすると、そのページに入力された完全なリストと、その値が表示されません。常に変化する__VIEWSTATE。
私の質問:ASPXページにデータを投稿し、のみ投稿する方法はありますか?いくつかの入力は除外します。 __VIEWSTATE?
ページがあった場合、PHPはそれはおそらく次のようになり、言う:
例。 1:
例:ASP.NET Webフォームで
...
<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>
...
、しかし、サーバーコントロールを使用して、それはおそらくのように見えると思います。 2:例1で
...
<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>
...
、ログインフォームを送信すると、すべての入力が "に包まれているので、ASP.NETには、しかし、login.phpするのuname =何か& passwdの= somethingelseを掲載する単純なケースでありますグローバル '<form>
、ログイン入力を提出するには、グローバルフォームとすべての入力を提出する必要があります。
だから私は後で、の特定の入力を提出する方法です。 __VIEWSTATEではなく、あらかじめページを調べることなくわかりません。
認証を行うためにwebservicesを使用するとどうなりますか? – jaderanderson
@jaderanderon各サイトでWebサービスを通じて認証ロジックが公開されていますか?はい、理想的な世界では、これは私がそれをやる方法ですが、私はシステムが*すべてのフォーム認証システムと互換性があることを望みます。カスタムビルド、ASP.NETログインコントロールなどすべてが共通しているのは、標準化されたフォーム((X)HTML/HTTP POST)を介してユーザーデータを送信することだけです。 – oloftus