Cookieによる認証は、サイト側でユーザー個別の判定やログイン/ログアウトを管理する仕組みだが、これ以外にHTTPサーバの標準機能として認証の仕組みを提供する「HTTP認証」が存在する。家庭用ブロードバンドルータなどにWebブラウザ経由でアクセスした際に、ページを開く前にユーザー名とパスワードを確認するダイアログが表示されることが多いが、これがHTTP認証だ。

標準HTTP認証には、ユーザー名とパスワードをBase64形式の平文でサーバに送る「BASIC認証」とより安全性を高めた形でMD5で暗号化して送信する「DIGEST認証」の2種類がある。IE8のWindows RSS Platformでは、両HTTP認証を次の形式でサポートする。HTTPでのBASIC認証はサポートされていないことに注意したい。理由として、暗号化のないHTTP通信でのBASIC認証は危険だからだ。

認証方法 HTTP HTTPS
BASIC ×
DIGEST

WebスライスにHTTP認証を組み合わせた際の例が次の画面だ。Webスライスの画面下に警告メッセージが表示され、ユーザー名とパスワードの入力が必要なことがわかる。

画面下に警告メッセージが表示される。「!」アイコンをクリックするとWebスライスのプロパティが開く

プロパティの中でユーザー名とパスワードを指定できる

HTTP認証利用にあたっての注意点は、HTTP認証の失敗時にサーバが「HTTP 401 Authentication required response」を返すこと。そしてMicrosoftによれば、Dynamic Web Slicesでの利用は推奨されないことだという。HTTP認証では何の警告やページ表示もなしに認証プロセスが発生するため、ユーザーはエラー表示を通してのみ認証の必要性を知ることができる。これがユーザービリティ上、ユーザーの混乱の元になるというのだ。

以上を踏まえたうえで、想定されるケースごとに推奨または非推奨の組み合わせを表形式でまとめたのが下記だ。これを参考に最適なWebスライスでの認証の仕組みを実装してほしい。

Webスライス(Web Slices) / RSSの種類 (1) Persistent Cookies (2) Web Slice Specific Auth Cookie (3) Unique Urls (4) HTTP Auth
標準的なWebスライス
(Alternate Display/Update Sourceを使用しない)
○*1 ○*1
Dynamic Web Slices
(Alternate Display Sourceを使用)
非推奨
Alternate Update Source (更新にfeedurlを使用) 非推奨 非推奨
RSSフィード
*1 ただし、認証用Cookieが存在しなかった場合にログイン情報を表示するWebスライスを自身で用意する必要がある