役割管理asp.netを使用したいのですが、Visual StudioはASPNETDB.MDF
常にファイルを作成し続けるので、これは必要ありません。の代わりに使用したい既存のデータベースファイルがすでにありますASPNETDB.MDF
。これは主に、不要なユーザーの不要なディレクトリリストを拒否するためのものです。
前もって感謝します。
ASPNETDB.MDF(無関係な添付データベースファイル)を削除し、すべてのセキュリティ情報(ユーザー、ロール)をカスタムSQLデータベース内に保存できます。
これらの簡単な手順に従ってください
ステップ01-SQLデータベースにセキュリティテーブルを作成する
まず、SQLデータベース内にASP.NETセキュリティ情報を保持するテーブルを作成する必要があります。そのためのウィザードがあります。
ASP.NET SQL Serverセットアップウィザードがあります(WindowsXPおよびWindows2008 Server):
%WinDir%\ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_regsql.exe
ASP.NET SQL Serverセットアップウィザードは、次のいずれかにあります(Windows 7 x64)。
%WinDir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regsql.exe%WinDir%\ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regsql.exe%WinDir%\ Microsoft.NET \ Framework64 \ v2.0.50727\aspnet_regsql。 exe%WinDir%\ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_regsql.exe
このセルフガイドウィザードは非常にシンプルです。SQL Server(通常は。\ SQLExpress)と目的のデータベースを選択すると、ウィザードによって、カスタムSQLデータベース内でASP.NETセキュリティを処理するために必要なすべてのテーブルとオブジェクトが作成されます。
ステップ02-マシンキーを生成する
セキュリティテーブル内のパスワードは暗号化されて保存されます。web.configファイル内に一意のマシンキーを生成して記録する必要があります。
http://aspnetresources.com/tools/machineKeyにアクセスして、数行のコードにきちんとラップされた、web.configの準備ができた一意のマシンキーを入手してください。行を生成し、XML要素内に配置します。
... <machineKey
validationKey="6B6DC7FF0657AEE33FEB36189072D99551F27E281EAEEC8B0516B188A85CF2E4C
4A988429765C625979A232B5BE78D6E52CB59C3675B44FCA032C24B2C49DC5"
decryptionKey="CFED70360D049F182EA009258C34ED698A799774A2687AAE94098C71C6BF38C8"
validation="SHA1"
decryption="AES" />
</system.web>
Step03-web.configを変更します
web.configを変更して、メンバーシップ、ロール、およびプロファイルプロバイダーを含めます。
以下の行に類似したコードをXML要素内に配置します。「Your」という単語を、命名規則に一致する適切な名前に置き換えます。
..。
<membership defaultProvider="YourMembershipProvider">
<providers>
<add connectionStringName="YourConnectionString" applicationName="/"
enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false"
requiresUniqueEmail="true" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0"
name="YourMembershipProvider" type="System.Web.Security.SqlMembershipProvider" />
</providers>
</membership>
<roleManager enabled="true" cacheRolesInCookie="true" cookieName="YOUR_ROLES" defaultProvider="YourRoleProvider">
<providers>
<add connectionStringName="YourConnectionString" applicationName="/" name="YourRoleProvider"
type="System.Web.Security.SqlRoleProvider" />
</providers>
</roleManager>
<profile defaultProvider="YourProfileProvider">
<providers>
<add name="YourProfileProvider" connectionStringName="YourConnectionString"
applicationName="/" type="System.Web.Profile.SqlProfileProvider" />
</providers>
</profile>
これで、WebDeveloperまたはVisualStudio内でASP.NET構成を実行し、すべての新しいユーザーが/App_Data/ASPNETDB.MDFではなく、カスタムデータベース内に作成されていることを確認できます。