Asp.netアプリケーションに有効なログインフォームがあります。ユーザー名とパスワードのテキストボックスとログインを処理するボタンを備えた標準的なもの。正常に動作します。
ユーザーが、asp.netアプリケーションの一部ではない別のプレーンなHTMLページからユーザー名とパスワードを入力できるようにする新しい要件があります。フォーム、入力、送信ボタンなど、標準のhtmlを使用してこれを実現する予定です。フォームアクションは、asp.netログインページのURLであり、そのメソッドはPOSTです。
おそらくPage_Loadイベントで、asp.netログインフォームのC#コードビハインドページでやりたいことは、ページのリクエストに渡されたユーザー名とパスワードの値が含まれているかどうかを確認することです。これらの値を読み取り、asp.netページのログインボタンをクリックしたかのようにログインを処理します。そうでない場合は、通常どおりログインフォームを表示します。
ページのリクエストでユーザー名とパスワードの値の存在を確認し、読み取る方法を教えてください。
Request.Form NameValueCollectionを読み取り、それに応じてロジックを処理します。
NameValueCollection nvc = Request.Form;
string userName, password;
if (!string.IsNullOrEmpty(nvc["txtUserName"]))
{
userName = nvc["txtUserName"];
}
if (!string.IsNullOrEmpty(nvc["txtPassword"]))
{
password = nvc["txtPassword"];
}
//Process login
CheckLogin(userName, password);
...ここで、「txtUserName」と「txtPassword」は、投稿ページのコントロールのNamesです。
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... }
usernameは、送信ページでの入力の名前です。パスワードは同じ方法で取得できます。 nullまたは空でない場合は存在し、ユーザーにログインします(ASP.NETメンバーシップの正確な手順は思い出せません。
NameValueCollection nvclc = Request.Form;
string uName= nvclc ["txtUserName"];
string pswod= nvclc ["txtPassword"];
//try login
CheckLogin(uName, pswod);