計画手順 3: データ ソース設定を計画する
作成者: Keith Newman および Robert McMurray
Web サイト構築のこのフェーズでは、ASP.NET アプリケーションのデータ ストレージのニーズを検討します。 次のセクションでは、IIS で利用できるさまざまなデータ ソースの設定について説明します。
3.1. データ ソース接続文字列
接続文字列は、特定のデータベースと通信するためにアプリケーションやプロバイダーが必要とする情報を提供します。 接続文字列は通常、サーバーまたはデータベース サーバーの場所、使用するデータベース、認証情報を提供します。 接続文字列では、一元的な方法でマネージド コード アプリケーションからデータベースに接続することができます。
構成設定を追加すると、ローカル レベルと、設定を継承するすべての子レベルに設定が追加されます。
IIS に接続文字列を追加するには、次の情報を提供します。
- 接続文字列の名前を指定します。 この名前は、データベースからデータを取得するために、アプリケーション コード内で参照する名前と同じ名前にする必要があります。
- データベースが配置されているサーバーを指定します。
- データベースの名前を指定します。
- Windows 統合セキュリティを使用していない場合、資格情報を提供します。
3.2. ASP.NET プロバイダー
ASP.NET 2.0 には、データベースまたは他のデータ ストアに状態を格納するいくつかのサービスが含まれています。 プロバイダーとは、これらのサービスのいずれかとデータ ソース間に、一貫したインターフェイスを実装するソフトウェア モジュールです。 IIS 7 では、アプリケーションの既定のプロバイダーを設定できます。 プロバイダーのプロパティを構成することもできます。 [ユーザー] はプロバイダー ベースの機能で、この機能では、たとえばあるプロバイダーは SQL にユーザー データを保存し、別のプロバイダーはテキスト ファイルにユーザー データを保存します。
データベースまたは他のデータ ストアにデータを格納するため、プロバイダーベースのサービスを使用するアプリケーションがある場合、IIS にプロバイダーを追加します。 たとえば ASP.NET のセッション状態サービスは、ユーザーごとのセッション状態をプロセス内 (ホスト アプリケーションのアプリケーション ドメイン内のメモリ)、外部プロセス (「状態サーバー プロセス」) のメモリ、または Microsoft SQL Server データベースに格納することで、セッション状態を管理するプロバイダーベースのサービスです。
構成設定を追加すると、ローカル レベルと、設定を継承するすべての子レベルに設定が追加されます。
アプリケーションのプロバイダーを追加するには、次の構成情報を提供します。
プロバイダーが提供する IIS 機能 (.NET プロファイル、.NET ロール、または .NET ユーザー) を選択します。
プロバイダーの種類を選択します。
プロバイダーの名前を入力します。
選択した機能が .NET ユーザーである場合、以下から必要なプロバイダーの動作を選択します。
- パスワード リセットを有効にする
- パスワードの取得を有効にする
- 質問と答えを必須とする
- 一意の電子メールを必須とする
- セキュリティで保護された形式でパスワードを保存する
データベースへの接続文字列の名前を指定します。
アプリケーションの名前を入力します。
3.3. .NET プロファイル
.NET プロファイル機能は、個々のユーザーに情報を関連付け、永続的な形式で情報を格納します。 .NET プロファイルを使用すると、独自のデータベースの管理と保持を行わなくても、ユーザー情報を管理できます。
.NET プロファイルでは、プロパティまたはグループを追加することができます。 プロパティは、ユーザー名など、ユーザーに固有の情報を格納します。 これにより、格納した情報を使って、アプリケーションのカスタマイズされたバージョンをユーザーに提示することができます。 グループは、関連するプロパティをまとめて整理します。 たとえば、ユーザーのアドレス情報のさまざまなプロパティを、Address グループにグループ化できます。
ASP.NET アプリケーションのプロファイル プロパティまたはグループを追加する場合は、次の情報を提供します。
- 各プロファイル プロパティでは、プロパティ名、データ型 (文字列、ブール値など)、既定値、シリアル化オプション (文字列、XML、バイナリ、または特定のプロバイダー)、読み取り専用かどうか、匿名ユーザーが使用できるかどうかなどを指定します。
- 各プロファイル グループでは、グループ名を指定します。
3.4. .NET の役割
役割を使用すると、ユーザー グループのアクセス規則を簡単に管理できます。 ユーザーを作成して、ユーザーを役割に割り当てます (Windows では、ユーザーをグループに割り当てます)。 たとえば、特定のユーザーに制限された一連のページを作成して、それらのページをユーザーが自分でフォルダーに格納することができます。 次に IIS 8 を使って、制限されたフォルダーへのアクセスを許可および拒否する規則を定義します。 認証されていないユーザーが制限されているページを表示しようとすると、エラーが表示されるか、管理者が指定したページにリダイレクトされます。
役割は、サイト、アプリケーション、またはファイルにアクセスする匿名ユーザーでは機能しません。
既存のすべてのグループと異なるユーザー グループに、適用するセキュリティ設定がある場合に、役割を追加します。
アプリケーションの役割を定義する場合は、各役割の名前を指定します。
重要
アプリケーションの役割を構成するには、.NET 役割プロバイダーを前もって構成している必要があります。
3.5. .NET ユーザー
アプリケーションにユーザー ID を関連付けると、そのアプリケーションの認証、承認、および他のセキュリティ関連の操作を管理するのに役立ちます。
IIS を使用して、ユーザー名、電子メール アドレス、パスワード、およびユーザーがパスワードを紛失したか忘れた場合にアカウントの自動リセットを開始するためのセキュリティの質問を定義する場合に、ユーザーを追加します。 .NET の役割機能が有効の場合、ユーザーの作成時にユーザーに役割を追加できます。
アプリケーションに対してユーザーを構成する場合、ユーザーごとに次の情報を提供します。
- ユーザー名 (一意である必要があります)。
- 電子メール (標準形式 name@domain.com を使用する必要があります)
- パスワード (強力なパスワードである必要があります)
- 質問 (カスタム質問を入力するか、一覧から選択します)。
- 前述の質問に回答します。
- ユーザーが割り当てられている役割。
重要
アプリケーションのユーザーを構成するには、.NET ユーザー プロバイダーを前もって構成している必要があります。