asp.Netでのフォーム認証(冒頭)
asp.Netでのフォーム認証(冒頭)
私たちはウェブサイトを作成するときに、認証によく使用します.asp.NetにはWindows、Froms、Passportなど、いくつかの認証方式が内蔵されています.このいくつかの認証方法はそれぞれ異なります(ここでは主にForms検証について詳しく説明します.Forms検証は現在流行している認証方法の一つなので、他のことを知りたいなら、自分でネットで資料を調べることができます.ここでは一つ一つ紹介しません).一般的に、Webサイトの認証方法には、次の手順があります.
1、ユーザー名とパスワードを入力し、「OK」ボタンをクリックします.
2、バックグラウンドでユーザー名とパスワードを判断し、エラーがあればヒントを返す.正しい場合は、アクセス可能なページに入ります.
以前のASP時代には、通常、ユーザー名とパスワードが一致しているかどうかを検証した後、セッションを作成し、検証が必要なページごとにセッションが存在するかどうかを判断し、存在する場合はページ内容を表示していました.存在しない場合は、プロンプトが生成され、ログインページにジャンプしますが、sessionがタイムリーにRemoveしないとメモリが消費され、パフォーマンスに影響します.
だからasp.Net時代には、このプロセスは大幅に減少し、検証が必要なページごとにSessionを検証する必要はなくなり、次のようなステップを行うだけで、認証プロセスを完了することができます.
第一歩:webを修正する.configファイル:
1、および でセクションが見つかり、フォーム認証の使用を表すFormsに変更されました.
2、および に「」すべての匿名ユーザーを拒否します.
ステップ2:loginを作成します.aspxファイル:
最初のステップを経た後、ユーザーがウェブサイトのどのファイルにアクセスしても、認証がない限り、asp.Netは自動的にloginにジャンプします.AspxのWebページでは、URLでReturnUrlパラメータを使用して、ユーザーが現在アクセスしているWebページを渡します.
ユーザが認証なしにtestに直接アクセスすると仮定する.aspxファイルではasp.Netは自動的にloginをジャンプします.aspxページは、ブラウザウィンドウのアドレスバーのURLが「login.aspx?ReturnUrl=%2 ftest.aspx」であるため、認証に合格した後、ReturnUrlパラメータで指定したページにWebページを戻すことができます.
ステップ3:login.aspxファイルでの認証:
まず、外にはテキストボックスとパスワードボックスが作成され、ユーザーがユーザー名とパスワードを入力した後、「発行」ボタンをクリックすると、データベースに行って認証され、詳細は書かれません.ここで入力したユーザー名が1で、パスワードが1であれば、認証が通過したとみなされます.
認証が完了したらFormsAuthenticationを使用する必要があります.SetAuthCookie()は、ユーザーに認証された手形を作成し、Cookieに追加します(後で、Webサイトの他のWebページにアクセスすると、認証に使用する必要はありません).コミットボタンをクリックしたコードは次のとおりです.
注意:using System.Web.Security;
私たちはウェブサイトを作成するときに、認証によく使用します.asp.NetにはWindows、Froms、Passportなど、いくつかの認証方式が内蔵されています.このいくつかの認証方法はそれぞれ異なります(ここでは主にForms検証について詳しく説明します.Forms検証は現在流行している認証方法の一つなので、他のことを知りたいなら、自分でネットで資料を調べることができます.ここでは一つ一つ紹介しません).一般的に、Webサイトの認証方法には、次の手順があります.
1、ユーザー名とパスワードを入力し、「OK」ボタンをクリックします.
2、バックグラウンドでユーザー名とパスワードを判断し、エラーがあればヒントを返す.正しい場合は、アクセス可能なページに入ります.
以前のASP時代には、通常、ユーザー名とパスワードが一致しているかどうかを検証した後、セッションを作成し、検証が必要なページごとにセッションが存在するかどうかを判断し、存在する場合はページ内容を表示していました.存在しない場合は、プロンプトが生成され、ログインページにジャンプしますが、sessionがタイムリーにRemoveしないとメモリが消費され、パフォーマンスに影響します.
だからasp.Net時代には、このプロセスは大幅に減少し、検証が必要なページごとにSessionを検証する必要はなくなり、次のようなステップを行うだけで、認証プロセスを完了することができます.
第一歩:webを修正する.configファイル:
1、
2、
ステップ2:loginを作成します.aspxファイル:
最初のステップを経た後、ユーザーがウェブサイトのどのファイルにアクセスしても、認証がない限り、asp.Netは自動的にloginにジャンプします.AspxのWebページでは、URLでReturnUrlパラメータを使用して、ユーザーが現在アクセスしているWebページを渡します.
ユーザが認証なしにtestに直接アクセスすると仮定する.aspxファイルではasp.Netは自動的にloginをジャンプします.aspxページは、ブラウザウィンドウのアドレスバーのURLが「login.aspx?ReturnUrl=%2 ftest.aspx」であるため、認証に合格した後、ReturnUrlパラメータで指定したページにWebページを戻すことができます.
ステップ3:login.aspxファイルでの認証:
まず、外にはテキストボックスとパスワードボックスが作成され、ユーザーがユーザー名とパスワードを入力した後、「発行」ボタンをクリックすると、データベースに行って認証され、詳細は書かれません.ここで入力したユーザー名が1で、パスワードが1であれば、認証が通過したとみなされます.
認証が完了したらFormsAuthenticationを使用する必要があります.SetAuthCookie()は、ユーザーに認証された手形を作成し、Cookieに追加します(後で、Webサイトの他のWebページにアクセスすると、認証に使用する必要はありません).コミットボタンをクリックしたコードは次のとおりです.
注意:using System.Web.Security;
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (txtUser.Text == "1" && txtPwd.Text == "1")
{
// , Cookie
//SetAuthCookie 。
// SetAuthCookie true Cookie( Cookie), false
FormsAuthentication.SetAuthCookie(txtUser.Text, false);
// ReturnUrl
if (string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
{
Response.Redirect("Default.aspx");
}
else
{
Response.Redirect(Request.QueryString["ReturnUrl"].ToString());
}
}
}