.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」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|