1

ちょうど2日前に、ASP.NETでのログイン制御とフォーム認証について学びました。

それ以前は、セッションとSQLサーバーを使用してログインとログアウトを行うための独自のデータベースとユーザーテーブルと独自のロジックを作成していました。

新しい方法は、以前よりも高速に作業できるので便利ですが、これらのログインを使用してユーザーコントロールを作成すると、デフォルトのデータベースASPNETDB.MDFがApp_Dataフォルダーに保存されます。

自分のサイトに関するすべてを保存するために単一のデータベースを使用しているので、すべてのユーザー情報を自分のデータベースと自分のテーブルに保存することは可能ですか?

自分の柔軟性を備えた新しいコントロールの力が欲しいです。

4

2 に答える 2

5

web.config にSQL メンバーシップ プロバイダーを追加し、それを適切な DB にポイントするだけです (サンプルの抜粋を以下に示します)。

<connectionStrings>
    <remove name="LocalSqlServer"/>
    <clear/>
    <add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=MYDBNAME;User ID=foo;Password=bar" providerName="System.Data.SqlClient"/>
</connectionStrings>


    <membership>
        <providers>
            <remove name="AspNetSqlMembershipProvider"/>
            <add connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </providers>
    </membership>

SQL Server でメンバーシップ スキーマを作成する方法に関するリンクもここにあります。

于 2010-11-12T18:34:09.860 に答える
0

マイクロソフトが指示するテーブルではなく、独自のテーブルを使用する場合は、カスタムメンバーシッププロバイダーを使用する必要があります。この記事では、その方法を説明します。

于 2010-11-12T22:01:45.433 に答える