20090418
- 2. ASP.NETメンバーシップ
コーディングなしで認証の仕組みを実現可能
Default.aspx
○ LoginStatusコントロール
○ LoginNameコントロール
Login.aspx
○ Loginコントロール
Web サイト管理ツール
○ 認証の種類 - インターネットから
○ ロールの作成
○ アカウントの作成
○ アクセス規則(承認)の作成
- 3. ASP.NETメンバーシップの問題
点
サーバ上での管理ツールが存在しない
Webサイト管理ツールはVisualStudio付属
開発時に利用したデータベースを設定を
含めてそのまま使用することには問題が
ある
SQL Server Express Edition特有のユーザイ
ンスタンスの機能を利用している
メンバーシップ用のデータベースは
aspnet_regsql.exeから作成することは可能
- 4. IIS7管理ツールからのユーザ管
理
IIS7管理ツールからできること
メンバーシップ管理用のデータベースへの接続
文字列の修正
認証の設定
ロールの有効化
ロールの追加/編集/削除
ユーザの追加/編集/削除
ユーザのロールへの追加/削除
プロファイルの有効化
匿名ユーザのプロファイルの有効化
プロファイルの追加/編集削除
- 5. Web.configの直接編集
IIS7管理ツールではできないこと
承認の設定(フォルダ/ファイル)
ユーザの持つプロファイルデータの管理
○ これらは開発時点で設定等が確定するので、
管理ツールでの操作は必要ないかもしれない
メンバーシッププロバイダの設定変更
○ どんな設定ができるかを理解させるためには
管理ツールから設定を変更できるとうれしい
○ 柔軟な設定が可能なことがわかりにくいため
にメンバーシップが使われていないのでは?
- 6. メンバーシッププロバイダの設
定
マシンレベルのweb.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>