何分かかるか測っていません。Kioshi君見てますか。
今回の前提は
- SQL Server 2005 のバージョンのどれか
- .NET Framework 2.0
- Visual Studio
まずコンソールを開きます。
データベースをつくってMembershipを初期化します。
Wizardに従います。
Membership認証データベースができたので、VisualStudio でプロジェクトをつくります。後々のためにまず空のソリューションを作ります。
つぎにWebサイトを追加します。ソリューションを選らんで右クリックです。
ルートにWeb.configを追加します。
web.config に <connectionString>を追加します。
<connectionStrings>
<clear/>
<add name="Auth" connectionString="Data Source=.;Initial Catalog=MySiteAuth;Integrated Security=true;"/>
</connectionStrings>
同じく、Membership関係の設定を追加します。
<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15" hashAlgorithmType="SHA1">
<providers>
<clear/>
<add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipP
connectionStringName="Auth" enablePasswordReset="true" enablePasswordRetrieval="false"
requiresQuestionAndAnswer="true" applicationName="MySite"
requiresUniqueEmail="true" passwordFormat="Hashed"/>
</providers>
</membership>
<roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="SqlRoleProvider">
<providers>
<clear/>
<add connectionStringName="Auth" applicationName="MySite" name="SqlRoleProvider"
type="System.Web.Security.SqlRoleProvide
</providers>
</roleManager>
<profile defaultProvider="SqlProfileProvider">
<providers>
<clear/>
<add name="SqlProfileProvider" type="System.Web.Profile.SqlProfileProvi
connectionStringName="Auth" applicationName="MySite" description="MySite"/>
</providers>
</profile>
次にルートに loginフォルダーを作ってWebフォーム"default.aspx"を追加しま
再度web.configを開いて、<authentication>を Form 認証に変更します。
<authentication mode="Forms">
<forms loginUrl="~/login/default.aspx" protection="Validation" timeout="300"/>
</authentication>
login/default.aspx をデザイナービューで開いてLoginコントロールを貼り付けます。
memberフォルダーを作成し、default.aspxを追加してデザインビュー
memberフォルダーの下にweb.config を作成して、<system.web>にロールを設定します。
<authorization>
<allow roles="member"/>
<deny users="*"/>
</authorization>
同じようにして、admin/default.aspx,admin/web.con
<authorization>
<allow roles="admin"/>
<deny users="*"/>
</authorization>
これでできました。テスト用のユーザーを作って、
- user1 : admin , member
- user2 : member
のロールを与えます。
member/default.aspxを選んで「ブラウザで表示」させます。
パスワードを聞いてくるので,user2でログインします。
そのまま、/admin/default.aspxをブラウザでアクセスすると権限が
ブラウザで/member/default.aspxに移動してもuser1には見え
以上。ここまでは言語は何でもかまいません。
