0

メンバーシップ/ロール/プロファイルに ASPNETDB を使用する Web サイトがあります。Web サイトにはいくつかの管理ページがあり、Web サイトのユーザーを追加/編集/削除できるように新しいページをいくつか追加したいと考えています。

データベースには 2 つの異なる接続文字列があり、アクセス許可/セキュリティ レベルが異なります。

1 つ ("ASPNETDBConnection") を Web サイトのログイン プロセスのみに使用し、その他の一般的な使用目的をすべての訪問者に使用したいと考えています。

もう一方 (「ASPNETDBConnectionAdmin」) をログイン ユーザーのページの追加/編集/削除に使用したいと考えています。

仮想ディレクトリ/アプリケーションを作成したくありません (できません - 聞かないでください!)。

プロファイルは 1 つしか持てませんが、プロバイダーは複数持てます...

以下は、現在の web.config ファイルから取得したものです。

<system.web>
    <membership defaultProvider="AspNetSqlMembershipProvider">
        <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" connectionStringName="ASPNETDBConnection" applicationName="MyWebSite" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
            <add name="AspNetSqlMembershipProviderAdmin" connectionStringName="ASPNETDBConnectionAdmin" applicationName="MyWebSite" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
        </providers>
    </membership>
    <profile defaultProvider="AspNetSqlProfileProvider" enabled="true">
        <providers>
            <clear/>
            <add name="AspNetSqlProfileProvider" connectionStringName="ASPNETDBConnection" applicationName="MyWebSite" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            <add name="AspNetSqlProfileProviderAdmin" connectionStringName="ASPNETDBConnectionAdmin" applicationName="MyWebSite" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </providers>
    </profile>
    <roleManager defaultProvider="AspNetSqlRoleProvider" enabled="true">
        <providers>
            <clear/>
            <add name="AspNetSqlRoleProvider" connectionStringName="ASPNETDBConnection" applicationName="MyWebSite" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            <add name="AspNetSqlRoleProviderAdmin" connectionStringName="ASPNETDBConnectionAdmin" applicationName="MyWebSite" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </providers>
    </roleManager>
</system.web>

私の質問は、プロバイダーを切り替えるにはどうすればよいですか?

追加/編集/ユーザー ページのコードで、メンバーシップ プロバイダーを既定の "AspNetSqlMembershipProvider" から別の "AspNetSqlMembershipProviderAdmin" に (動的に) 変更するにはどうすればよいですか?

役割およびプロファイル プロバイダーのその他。

C# ではなく、VB でのヘルプをお願いします。

どうもありがとう...

4

1 に答える 1

0

クリンブルパッド

私はそれを検索しようとしましたが、カスタムプロファイラーを作成しようとしましたが、アイデアが得られませんでした。その間にいくつかの有用なリソースを見つけました。チェックしてください

プロファイルのコード プロジェクト

プロファイル機構

于 2011-08-20T03:48:01.807 に答える