特集:クライアントステート管理、3つの手法Visual Studio Magazine(9/9 ページ)

» 2004年12月28日 10時30分 公開
[Matthew Gibbs, Rob Howard,FTPOnline]
前のページへ 1|2|3|4|5|6|7|8|9       

 前ページのリスト1に示した最初のメソッドである「Application_AutehnticateRequest」は、ASP.NETがリクエストに対する認証準備が整った場合に呼び出されるイベントのデリケートだ。このメソッド内では、UserRolesという名称のクッキーの存在を確認し、また、それが値を保持しているか否かを調べている。

 クッキーが見つからない場合には、ユーザーが属するロールを読み込み、そのロール名をCreateRolesCookiesメソッドに渡して呼び出すという処理だ。

 CreateRolesCookiesメソッド内では、セミコロン区切りでつなげた文字列にフォーマットし、フォーム認証のAPIを用いて暗号化する。そしてその暗号化されたデータをUserRolesクッキーに格納する。UserRolesクッキーが見つかった場合には、まずそのクッキーの値を解読し、クッキーで提示されるユーザーが現在ログインしているユーザーと同一であることを確認する。そして、セミコロン区切りでロールを取り出し、GenericPrincipalクラスのコンストラクタ引数のひとつとして、該当するロールを渡すことで、標準プリンシパルを作成するのだ。

 ここまでで、クライアント状態管理のために、「セッション状態」「ビューステート」「クッキー」という3つのテクニックを見てきた。

 クライアント状態管理のためにどのようなテクニックを使うのかは、アプリケーションにおいて、何を達成することが必要なのかによって選んでほしい。ASP.NETは、これらの3つのテクニックを使って開発するための、簡単で使いやすいAPIを提供している。

  • 著者について

【Matthew Gibbs】:Matthew Gibbs氏は、マイクロソフトのASP.NETチームのソフトウェアデザインエンジニアのリーダー。IISのASP 3.0、4.0、5.0の開発に取り組んだ。その後、.NET Frameworkのモバイルインターネットツールキットやバージョン1.1に取り組んだ。働いていないときには、ワシントンで、妻と娘、そして息子とアウトドアを楽しんでいる。

【Rob Howard】Rob Howard氏は、Telligent Systems社の設立者。Microsoft .NET Frameworkチームのオリジナルメンバーの一人でもあり、.NET 1.0、1.1、2.0の作成を手助けした。マイクロソフトにいる間は、.NETコミュニティーの指導者として、ASPInsidersやINETAへの寄付を募るのに協力し、MVPや開発研究者とともに.NETコミュニティーを発展させた。

日本語訳:大澤文孝

前のページへ 1|2|3|4|5|6|7|8|9       

© Copyright 2001-2005 Fawcette Technical Publications

注目のテーマ