谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

ステートレスならBASIC認証が良いんじゃない?

2008年も暮れようかという現在、Webアプリを作る際に「そうだBasic認証を使おう」と思う人はほとんどいないでしょう。ユーザIDとパスワードを入力するログインフォームを用意し、セッションIDをcookieに保存する方法を選ぶのが定石だと思います。

フォーム認証は本当に捨てられないのか - 岩本隆史の日記帳

Javaに関して言えば、ServletのFORM認証はエラく使いづらいので、
恐らく、ほとんどの人が自前でログイン画面を作って
セッションにユーザ情報を入れているもんだと思います。


ただ、僕がWebアプリケーションを作ったり作らせたりする時には、
「ステートレスなアプリケーションで認証するならBASIC認証」としています。


理由は単純、
セッションが切れただけでログイン画面に戻られては厄介だからです。


2008年暮れの今現在でも、セキュリティ的な理由でCookieを無効にする人、
あるいは、無効をルール化している会社も存在するでしょう。
(世の中に、一桁パーセントぐらいはあるんじゃないでしょうか)


さらには、ちょっと古い携帯ブラウザのような環境では、
そもそもCookieを有効にできないかも知れません。


そんな環境でも、BASIC認証までは無効にすることはありません。
だから、たった一つの信頼できるステートとして、BASIC認証のユーザ名を使うのです。


いや、BASIC認証が使えない携帯ブラウザもありますけども。
そこまで行くと、ちょっとムリなんで。