asp.Net認証(最も簡単な編)

2229 ワード

一般的に、Webサイトの認証方法には、次の手順があります.
1、ユーザー名とパスワードを入力し、「OK」ボタンをクリックします.
2、バックグラウンドでユーザー名とパスワードが正しいかどうかを判断し、エラーがあればヒントを返す.正しい場合は、アクセス可能なページに進みます.
ASP時代には、通常、ユーザー名とパスワードが一致しているかどうかを検証した後、セッションを作成し、検証が必要なページごとにセッションが存在するかどうかを判断し、存在する場合はページの内容を表示します.存在しない場合は、プロンプトが生成され、ログインページにジャンプします.
しかし、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で、パスワードが2であれば認証が通過したと考える.
認証が完了したらFormsAuthenticationを使用します.SetAuthCookie()は、ユーザーに認証された手形を作成し、Cookieに追加します.以降、サイト内の他のページにアクセスすると、認証に使用する必要はありません.コミットボタンをクリックしたコードは次のとおりです.
 
  
protected void Button1_Click(object sender, EventArgs e)
{
// , 1, 2
if (TextBox1.Text == "1" && TextBox2.Text == "2")
{
/*
* , Cookie
* SetAuthCookie 。
* SetAuthCookie true Cookie( Cookie), false
*/
FormsAuthentication.SetAuthCookie(TextBox1.Text, false);
}

// URL ReturnUrl , Default.aspx, ReturnUrl
if (string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
{
Response.Redirect("Default.aspx");
}
else
{
Response.Redirect(Request.QueryString["ReturnUrl"].ToString());
}
}

わずか3歩で、認証ができますが、COOLですか?
本例はVS 2005でテストに合格した.
この例の利点は、プロセスとコードが非常に簡単であることです.
この例の欠点は、Webサイト全体に対して認証が必要であり、匿名でアクセスできるファイル、匿名でアクセスできないファイルを指定できないことです.