ステップ 7 ハンズオン : ASP.NET 2.0 メンバーシップとロールの管理 その 1

ユーザーとロールの管理


グローバル ナレッジ ネットワーク株式会社
ナレッジ ソリューション本部 鈴木和久

最終更新日 2005 年 10 月 28 日

目標
ASP.NET 2.0 のWeb サイト管理 ツールを使用したユーザーとロールの管理
使用技術
  • ASP.NET 2.0
  • Visual Basic 2005
取り上げるトピックス
  • Webサイト管理 ツール
前提知識
目次
備考
メンバーシップを管理するデータベースは SQLEXPRESS です。

メンバーとロールの管理

ここでは、ASP.NET 2.0 を使用した Web サイトをインターネットに公開する場合に、Web サイトの利用者を認証するための設定と管理の方法について説明します。

Web サイトをインターネットの不特定多数のユーザーに公開した場合に、ユーザーを認証するためのデータの登録を行います。

不特定多数のユーザーが利用する Web サイトでのユーザーの認証は、Web サイト管理 ツールからユーザーやロールの定義を行い、認証情報としてデータベースに格納することができます。

ユーザーやロールを登録するには Web プロジェクト メニューの [Web サイト] - [ASP.NET 構成] を選択し、Web サイト管理ツールを起動します。

Web サイト管理ツール 画面 

[セキュリティ] リンクをクリックし、[手順に従ってセキュリティを構成するには、セキュリティ設定ウィザードを使用してください。] のリンクをクリックし、セキュリティ設定 ウィザード画面から [次へ >] をクリックします。

セキュリティの設定 画面

 

 

アクセス方法の選択 [インターネットから]を選択して 次に進み、さらに、プロバイダの詳細 画面から次に進みます。

 アクセス方法の選択 画面

 

ロールを有効にする場合は、ロールの定義 画面で、[この Web サイトにロールを有効化します。] をチェックし、次に進みます。

 ロールの定義 画面

ロールを定義します。

 ロールの追加 画面

ユーザーを作成します。デフォルトではユーザーのパスワードは 7 文字以上、最低 1 文字のアルファベット以外の文字を含まなければ登録は失敗します。この定義は %WinDir%\Microsoft.NET\Framework\バージョンフォルダ\Config\machine.config の membership セクションで定義されています。

machine.config ファイル

・
     ・
     ・
<membership> 
  <providers> 
      <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> 
  </providers> 
</membership>
     ・
     ・
     ・

   ユーザー登録 画面

登録済みのユーザーやロールに対してのアクセス権の許可を与えます。

アクセス規則の追加 画面 

ロールが有効な場合は、登録ユーザーをロールに所属させ、ロールに許可を与えることでユーザーへの許可をまとめて行うことができます。

ユーザーへのロールの割り当ては Web サイト管理 ツールのセキュリティ 設定の [ユーザー管理 ] から定義できます。

ユーザーへのロールの割り当て 画面 

Web サイト管理 ツールからの設定情報は App_Data フォルダ の ASPNETDB.MDF データベース ファイルで管理されます。

ASPNETDB.MDF 画面 

また、ロールへのアクセス許可は web.config へと反映されます。

web.config ファイル

<authorization> 
    <allow roles="Visitors" /> 
</authorization> 
<roleManager enabled="true" />

     ・
     ・
     ・

 <authentication mode="Forms" />
     ・
     ・
     ・

以上で、不特定多数のユーザーがサイトを利用する環境で、ユーザー認証用のデータ管理ができるようになります。

次に、『Login コントロールの利用』について説明します。

トップページへトップページへ