簡単なログイン認証をつくる簡単なログイン認証をつくるこの節では、ログイン認証の仕組みを実装してみましょう。ログインの仕組みを実装するにはいくつかの方法があります。ASP.NETメンバーシップ独自認証ASP.NETメンバーシップを使うと、データベースにユーザー、ロール、アクセス規則や、ログイン認証、ユーザー登録、パスワード変更などの機能を組み込むことができます。今回は、独自ログインの簡単なログイン方法を確認してみましょう。ASP.NETに組み込まれているLoginコントロールを使ってログイン認証をさせてみましょう。Loginコントロールはユーザー認証のためのフォームを表示します。ASP.NETメンバーシップを使う場合は特にプログラムを記述する必要はありません。独自認証をさせる場合はプログラムを記述します。ユーザーが認証されたときに発生するLoginの主なイベントLoginNameコントロールはログインしたユーザーの名前を表します。このコントロールはSystem.Web.UI.Page.User.Identity.Nameプロパティの値を表します。LoginStatusコントロールは未認証のユーザーにはログインページへのリンクを表示し、認証済みのユーザーにはログアウトのリンクを表示します。デザイン(index.aspx)Webフォーム(index.aspx)を追加して、次のようにコントロールを配置してください。デザイン(login.aspx)Webフォーム(login.aspx)を追加して、次のようにコントロールを配置してください。プログラム(login.aspx.cs)Loginコントロールをダブルクリックして、LoginForm_Authenticateイベントハンドラのスケルトンを表示し、次のようにプログラムを記述してください。プログラム(Web.config)index.aspxにアクセスしたら、login.aspxに遷移するように設定をします。次のように要素を追加してください。解説Web.configでauthentication要素を追加しました。Authentication要素はASP.NETでの認証スキーマを構成します。mode属性に「Forms」を指定していますが、これは既定の認証モードとしてASP.NETフォームベース認証を表します。他にも次のようなモードがあります。今回はASP.NETフォームベース認証を使うので、子要素にforms要素を指定しています。この要素の主な属性には次のようなものがあります。Cookieのタイムアウトまでの時間を整数の分で指定する主な属性の一覧Authorization要素はWebクライアントのURLへのアクセスを管理する、Webアプリケーションの承認を構成します。この要素には主に次のような要素を設定します。今回はdeny要素を設定していますが、拒否に関するルールを設定します。属性には次のようなものがあります。アクセスを拒否するHttp伝送方法をカンマ区切りで指定するGET、HEAD、POST、DEBUGのいずれかを指定する主な属性の一覧login.aspx.csの19行目でLoginコントロールに入力されたユーザー名、パスワードを判定しています。この部分はデータベースに格納されているデータと参照するなどに置き換えることができます。21、25行目では認証が成功したか失敗したかをセットしています。LoginコントロールのAuthenticateイベントの引数に指定されているAuthenticateEventArgsには認証の状態を設定できるオブジェクトが格納されているので、そのオブジェクトのAuthenticatedプロパティにtrueをセットすると成功、falseをセットすると失敗になります。成功すれば、LoginコントロールのDestinationPageUrlプロパティにセットされているページに飛びます。失敗した場合は再びログインページが表示されます。