ログイン ページ
ログインサポート:インデックス への移動
当然ながら、Websnap アプリケーションにはログイン ページも必要になります。ユーザーは、アクセスが制限されたページにアクセスしようとしたとき、またはアクセスする前に、認証のためにユーザー名とパスワードを入力します。ユーザーは、認証が完了したときに受信するページを指定することもできます。ユーザー名とパスワードが Web ユーザーリスト内のユーザーの 1 人と一致すると、そのユーザーは該当するアクセス権を取得し、ログイン ページで指定したページに転送されます。ユーザーが認証されない場合は、ログイン ページが再表示されるか(デフォルトのアクション)、その他のなんらかのアクションが発生します。
幸いなことに、WebSnap では、Web ページ モジュールとアダプタ ページ プロデューサを使って単純なログインページを簡単に作成することができます。ログイン ページを作成するには、まず新しい Web ページモジュールを作成します。 を選択し、[Delphi プロジェクト] から[WebSnap]フォルダを選択します。[新規作成]ウィンドウの右ペインで、[WebSnap ページモジュールの新規作成]を選択します。ページ プロデューサの種類として AdapterPageProducer を選択します。その他のオプションは好きなように指定します。ログインページに適した名前の 1 つとして Login が使用される傾向があります。
次に、ログイン ページのごく基本的なフィールドを追加する必要があります。つまり、ユーザー名のフィールド、パスワードのフィールド、ログイン後にユーザーが受信するページを選択する選択ボックス、およびログイン ページを送信してユーザーを認証する[ログイン]ボタンです。
これらのフィールドを追加するには:
- 作成したばかりの Web ページ モジュールに TLoginFormAdapter コンポーネントを追加します(このコンポーネントは ツール パレット の[WebSnap]カテゴリにあります)。
- AdapterPageProducer コンポーネントをダブルクリックして、Web ページ エディタ ウィンドウを表示します。
- 左上のペインで AdapterPageProducer を右クリックし、[新規コンポーネント]を選択します。[Web コンポーネントの追加]ダイアログボックスで AdapterForm を選択し、[OK]をクリックします。
- AdapterFieldGroup を AdapterForm に追加します。(左上のペインで AdapterForm を右クリックし、[新規コンポーネント]を選択します。[Web コンポーネントの追加]ダイアログボックスで AdapterFieldGroup を選択し、[OK]をクリックします)。
- 次に、オブジェクト インスペクタ を表示し、AdapterFieldGroup の Adapter プロパティを自分の LoginFormAdapter に設定します。UserName、Password、および NextPage フィールドが、Web ページエディタの[ブラウザ]タブに自動的に表示されるはずです。Web ページエディタにアクセスするには、AdapterPageProducer をダブルクリックします。
以上のように、WebSnap ではほとんどの作業を単純ないくつかのステップで行うことができます。このログインページには、認証のためにフォーム上の情報を送信する[ログイン]ボタンが欠けています。
[ログイン]ボタンを追加するには:
- AdapterCommandGroup を AdapterForm に追加します。
- AdapterActionButton を AdapterCommandGroup に追加します。オブジェクト インスペクタ を使用して、DisplayComponent を AdapterFieldGroup に変更します。
- (Web ページエディタの右上のペインにリストされた)AdapterActionButton をクリックし、オブジェクト インスペクタ を使って ActionName プロパティを Login に変更します。ログイン ページのプレビューが Web ページ エディタの[ブラウザ]タブに表示されます。
AdapterFieldGroup の下にボタンが表示されない場合は、Web ページエディタ上の AdapterFieldGroup の下に AdapterCommandGroup がリストされていることを確認します。上に表示されている場合は、AdapterCommandGroup を選択し、Web ページ エディタ上で下矢印をクリックします。(一般に、Web ページの要素は、Web ページエディタでの表示順と同じ順序で縦に表示されます)。
このログイン ページを動作可能にするために必要なステップがあと 1 つあります。どのページがログイン ページかをエンドユーザーのセッション アダプタ内で指定する必要があります。それには、Web アプリケーションモジュール内で EndUserSessionAdapter コンポーネントを選択します。オブジェクト インスペクタ で、LoginPage プロパティをログイン ページの名前に変更します。これでこのログインページが Web サーバー アプリケーションのすべてのページで使用可能になりました。