Basic認証 と フォーム認証 の違いで一番に挙げられるのが、
Webアプリケーション では、ほとんどの場合 Basic認証 ではなく、フォーム認証 が使用されている。
なぜ フォーム認証 が選ばれる場合が多いのか?
それは Basic認証 では上記のような機能がないことが大きな要因である。
ただ全てにおいて フォーム認証 が適している訳ではなく、Webシステムの規模、仕様等を考慮した上でどちらを
使用するか選択するのが賢明である。
■ シングルサインオンについて
Basic認証 は、HTTP通信 の認証方式でありサーバーのファイルディレクトリに対して制限をかける。
ということは、Basic認証 されたユーザーはそのサーバーのドメイン内でしか効力がないのである。
異なるサーバー ( ドメイン間 ) にアクセスするには、再び Basic認証 を行なう必要があるのである。
フォーム認証 であれば、HTTP通信の認証方式ではなく、あくまでも リクエストパラメータ、または
cookie情報 を使用し認証をするので、ドメイン間でのアクセス制限はなく一度初回認証すれば、
永続的にそのユーザーで持ちまわることができるのである。
ただ Webアプリケーション が 単一サーバー でのみ稼動するのであれば、シングルサインオン は必要なく
Basic認証 で十分である。
■ ログアウトについて
ログアウトの機能 については、「 画面を閉じ終了させる 」、「 ログインした情報をクリアする 」
といった二つの機能が重要となる。
Basic認証 であれば、ブラウザーの×ボタン ( 閉じる ) を押すことで Basic認証 の
ユーザーID / パスワード情報 はクリアされ画面が閉じるられる。
非常にシンプルな仕組みであり、ユーザーの使用方法をきっちりと運用マニュアル等で管理
できるのであれば Basic認証 でも十分であると言える。
フォーム認証 であれば、ログアウトボタンを押すことによりサーバーで保持しているログイン情報を
明示的にクリアしログアウトしたということをユーザーに認識させ、誰がいつ ログイン / ログアウト
したか足取りもデータとして履歴管理を行うこともできる。
Webアプリケーション を構築する上で、認証は 非常に大きな割合を占める。
ただし構築する Webシステムの規模、仕様、開発工数、ユーザーの ( 運用 ) レベルを考慮し、
どちらの認証方式が適しているが選択することが重要である。