|
.NET TIPS [ASP.NET]Express Edition以外のSQL Serverでフォーム認証を利用するには?デジタルアドバンテージ 岸本 真二郎2008/12/11 |
![]() |
|
|
|
ASP.NET 2.0では、フォーム認証の仕組みや、Login、LoginStatusなどのコントロールを利用することで、ユーザー認証の必要なWebアプリケーションを容易に作成できる。
ただしデフォルトでは、フォーム認証の認証情報の格納先がSQL ServerのExpress Editionとして設定されており、Express Editionをインストールしていない環境では、そのままで利用できない。
そこで本稿では、最小限の修正により、Express Edition以外のSQL Serverでフォーム認証を行う方法を紹介する。
接続文字列の変更
認証情報の格納に使用されるデータベースは、特に設定を行っていない場合、Machine.configに含まれる接続文字列によって決まる。デフォルトではこれは次のようになっている。
| |
| Machine.config内の接続文字列 | |
| 各WebアプリケーションのWeb.configで定義されていない内容は、このMachine.configで定義される。 |
このように、Machine.configでは、インスタンス名としてExpress Editionの既定である「SQLEXPRESS」が記述されており、またデータベースとして、Webアプリケーションの「DataDirectory」(App_Dataフォルダ)から動的にデータベース・ファイル(aspnetdb.mdf)をアタッチするように記述されている。
Express Edition以外のSQL Server 2005やSQL Server 2008を認証情報の格納先として使用するには、上記の設定を使用せずに、Webアプリケーションごとに作成する構成ファイル内(Web.config)でデータベースの接続文字列を再定義すればよい。これは例えば次のように記述する。
| |
| Web.configに追記する内容 | |
| LocalSqlServerという名前が付けられた接続文字列を上書きしている。ここではローカルPCにインストールされたSQL Serverを想定している。 |
データベースの準備
接続文字列の設定に続き、接続先のSQL Serverにデータベースの準備が必要となる。
ASP.NET 2.0では、以下のパスに「ASP.NET SQL Server登録ツール(aspnet_regsql.exe)」というツールが用意されている。これを使ってASP.NETで利用するフォーム認証のためのデータベースをSQL Serverにインストールできる。
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
このツールを実行すると、ウィザードが起動するので、接続するサーバ、作成するデータベース名(デフォルトでは「aspnetdb」)を指定する。
![]() |
| ASP.NET SQL Server登録ツール(aspet_regsql.exe)の実行画面 |
| 接続先のSQL Serverや作成するデータベース名を指定する |
これによりデータベースが作成される。また、上述した接続文字列が参照されることにより、Webサイトのプロジェクトから起動できるWebサイト管理ツールにより、ユーザー情報の管理が行えるようになる。
![]() |
| Webサイト管理ツール |
| フォーム認証に用いるユーザー情報の管理が行える。 |
以上の作業で、任意のSQL Serverに用意したデータベースを使ってフォーム認証を行うWebサイトの構築が可能になる。![]()
| 利用可能バージョン:.NET Framework 2.0以降 カテゴリ:Webフォーム 処理対象:認証 カテゴリ:Webフォーム 処理対象:構成ファイル カテゴリ:データベース 処理対象:SQL Server 2005 カテゴリ:データベース 処理対象:SQL Server 2008 |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




