ASP.NET 2.0 で追加された、メンバシップ、ロール、プロファイルの周辺を体験してみましょう。
正直言うと、このあたりって全く興味が無いんですけどね・・・
(こんなんじゃなくて、他の事に時間使いたいしぃ)
空の Web サイトを作成。
本当に空っぽなので、それじゃあんまりなので Defaul.aspx を追加した。
Ctrl + F5 を押して一回実行させる。起動したブラウザには興味が無いので閉じた。
ASP.NET configuration を起動。
こんなの(webサイト管理ツール)が起動しました。
Visual Studio IDE に戻り リフレッシュを押す。裏で勝手に Web.config を追加した模様。なにすんじゃこら!
webサイト管理ツールに、セキュリティ、アプリケーション構成、プロバイダ構成とリンクがありますが、とりあえず セキュリティ をクリック・・・の前に SQL Server 2005 Express を起動しましょう。そうしないと、セキュリティをクリックしても反応がありませんので。
mssql$sqlexpress をインストールしていない人は ここ からダウンロードしてインストールしてください。VWD 入れた人はたいていインストール済みだとは思いますが・・・
セキュリティをクリックすると、こんなの出てきました。
ここで、また IDE に戻って リフレッシュ をクリックする。
また勝手にファイルつくりよってからに。
ASPNETDB.MDFってなに?
アプリケーションはこんな感じ
プロバイダはこんな感じ
ソリューションエクスプローラー(図の右側)で ASPNETDB.MDF をダブルクリックすると、サーバーエクスプローラー(図の左側)にデータベースの中身らしきものが表示されました。
セキュリティ の 認証の種類の選択 をクリックするとこんな感じ。
「ローカルネットワークから」を「インターネットから」に変更すると、web.config に三行追加された模様。
mode="Forms" だってさ。
ユーザーの作成、ユーザーの管理、が使えるようになりました。
ああ、もうなんか見えてきました(わかってきました)ね。
さっさと実験に入りましょう。
実験のため作った Web アプリ
よくわからんけど、適当に動かしていると login.aspx なるファイルにアクセスしようとしていたので、 login.aspx を用意してあげた。
hoge フォルダの中に hoge.aspx
ユーザーを二つ作った。
ロールを二つ作った。
ASPNETDB.MDF の中身
role1 は hoge フォルダにアクセス許可。role2 はアクセス拒否。
hoge/Hoge.aspx を表示しようとすると、login.aspx に飛ばされた。
ユーザー名に user1 を入れてログインを押すと、hoge/Hoge.aspx が表示できた。
一方、user2 だと hoge/Hoge.aspx が表示できない、というか何回やっても login.aspx に戻される。
こんな感じ。
ASP.NET 1.1 のときより楽になった・・・のかな???
追求しないでおこう(笑)
TestSite という名前でアプリフォルダを作った
VWD の FTP 転送機能を使って up します。送り先は wwwroot/TestSite
送り終わったらこんな感じ。
ブラウザベースのコンパネで見るとこんな感じ。
動きません。
3から7行目、connectionStrings を記述してもダメ。結果は変わらず。
サーバーには、SQL Server 2005 Express Edition が入ってないから、
User Instance=True; AttachDBFilename=|DataDirectory|aspnetdb.mdf
な動作は無理なんでしょうね。
次回は、どうやってこれを動かすか考えましょうかね。(次回でなくて、2006年8月4日へ)