わかりました。3つのWebアプリケーションのグループがあります。
私の既存のWebアプリケーションにはカスタマイズがまったくなく、基本的なメンバーシッププロバイダーを使用しただけです。
YAF.NETはカスタムプロバイダーを使用します。問題を引き起こしたのはカスタムプロファイルプロバイダーでした。
<profile enabled="true" defaultProvider="YafProfileProvider" inherits="YAF.Utils.YafUserProfile">
<providers>
<clear/>
<add connectionStringName="yafnet" applicationName="YetAnotherForum" name="YafProfileProvider" type="YAF.Providers.Profile.YafProfileProvider"/>
</providers>
</profile>
そこで、メインサイトのプロファイルプロバイダーへの参照YAF.Utilsと属性を追加するだけで、これをメインサイトと統合しました。inherits="YAF.Utils.YafUserProfile"
しかし今、私はBugNETもミックスに統合しようとしています。BugNETには、メンバーシップ実装の次のカスタマイズがあります。
<membership defaultProvider="ExtendedSqlMembershipProvider">
<providers>
<clear />
<add name="ExtendedSqlMembershipProvider" type="BugNET.Providers.MembershipProviders.ExtendedSqlMembershipProvider, BugNET.Providers.MembershipProviders.ExtendedSqlMembershipProvider" connectionStringName="BugNET" description="Extended Membership API" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="BugNET" requiresUniqueEmail="false" passwordFormat="Encrypted" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" />
</providers>
</membership>
<profile enabled="true" automaticSaveEnabled="false" defaultProvider="MyProfileProvider">
<providers>
<clear />
<add name="MyProfileProvider" type="Altairis.Web.Providers.SimpleSqlProfileProvider, Altairis.Web.Providers" connectionStringName="BugNET" tableName="BugNet_UserProfiles" keyColumnName="UserName" lastUpdateColumnName="LastUpdate" />
</providers>
<properties>
<add name="FirstName" type="String" customProviderData="FirstName;nvarchar;100" />
<add name="LastName" type="String" customProviderData="LastName;nvarchar;100" />
<add name="DisplayName" type="String" customProviderData="DisplayName;nvarchar;150" />
<add name="IssuesPageSize" type="Int32" defaultValue="10" customProviderData="IssuesPageSize;int" />
<add name="NotificationTypes" type="String" defaultValue="Email" customProviderData="NotificationTypes;nvarchar;255" />
<add name="PreferredLocale" type="String" defaultValue="en-US" customProviderData="PreferredLocale;nvarchar;50" />
<add name="SelectedIssueColumns" type="String" defaultValue="" customProviderData="SelectedIssueColumns;nvarchar;50" />
</properties>
</profile>
3つのweb.configすべてをどのようにマージする必要がありますか?
私の目標は、次のアプリケーション構造を持つことです。
そして、3つすべてが同じASP.NETメンバーシップモデルの下に統合されています。
これを達成するために、私は明らかにする必要があります
- すべてのWeb構成ファイルで同じマシンキーを使用しますか、それとも私が読んだことがありますか?
- 3つのアプリケーションすべてに「Webルート」とは何かを伝えることについて何かあったと思いますか?のように、 「www.website.com」に設定します
- メンバーシッププロファイルをマージします。これをどのように実現しますか。YAFのカスタムプロファイルプロバイダーからの継承の実装が、セクションの
propertiesノードに配置されたものをすべてオーバーライドすることをどこかで読みました。profileそれらの実装やソースコードを編集するのに問題はありません。BugNETの実装にあるカスタムプロパティをYAF.Utils.YafUserProfileに編集し、さらに適切な名前に変更して、メインのWebサイトソリューションに配置する必要がありますか? - BugNETが使用していると思われる「拡張メンバーシッププロバイダー」についてはどうでしょうか。これをそのままテストして、互換性があるかどうかを確認する必要がありますか?さまざまなソリューションでさまざまな実装を使用していますが、互換性がありますか?
- 他に足りないものはありますか?
補足として、メインのWebサイトプロジェクトにある、と呼ばれる特別なフォルダーと、 YAF.NETとBugNETApp_Sharedの両方の外部のsvnを作成する予定であることに注意してください。そこで、3つのアプリケーションすべてが継承する必要のあるベースマスターページを配置する予定です。これにより、ヘッダー、フッター、サイトマップなどの非常に基本的な詳細を共有できます。
すべての助けを歓迎します、ありがとう!