Существующий веб-сайт + BugNET + YAF ASP.NET Интеграция членства

Хорошо, у меня есть группа из трех веб-приложений.

Мое существующее веб-приложение не имеет какой-либо настройки, оно просто использует базовые поставщики членства.

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>

Каким образом я должен объединить все три файла web.configs?

Моя цель - иметь следующую структуру приложения:

  • www.website.com [Основной сайт]
  • forum.website.com YAF.NET
  • tracker.website.com BugNET

И все три интегрированы под одной и той же моделью членства ASP.NET.

Для этого мне, очевидно, нужно

  1. Использовать один и тот же ключ компьютера во всех файлах веб-конфигурации, или я прочитал?
  2. Я думаю, что было что-то о том, чтобы сказать всем трем приложениям, что такое "веб-корень"? Как и в случае установки его на "www.website.com"
  3. Объедините профили членства, как бы мне этого добиться, я где-то читал, что реализация YAF наследования от своего провайдера пользовательских профилей переопределяет все, что помещено в properties узел profile раздел. У меня нет проблем с редактированием их реализации или исходного кода. Должен ли я, возможно, редактировать в YAF.Utils.YafUserProfile пользовательские свойства, которые есть в реализации BugNET, и, возможно, также переименовать его как нечто более адекватное, и, возможно, поместить его в свое основное решение для веб-сайта?
  4. Что насчет "провайдера расширенного членства", который использует BugNET? я должен просто проверить это как есть и выяснить, совместимы ли они? Совместимо ли использование разных реализаций в разных решениях?
  5. Есть ли что-то еще, что я мог бы пропустить?

На дополнительном примечании я должен упомянуть, что я намереваюсь иметь специальную папку под названием App_Shared, который будет в основном проекте веб-сайта, и svn-external как для YAF.NET, так и для BugNET. Там я намерен разместить основную главную страницу, от которой должны наследоваться все три приложения, поэтому я могу поделиться некоторыми очень основными деталями, такими как верхний колонтитул, нижний колонтитул и SiteMap.

Вся помощь приветствуется, спасибо!

1 ответ

Решение

Не прямой ответ, но Дейв Берк отлично сделал это в Sueetie. Он не содержит Bug.Net, но содержит YAF, BlogEngine.Net, Screwturn Wiki и Gallery Server Pro. Источник бесплатный. скачайте его и используйте в качестве шаблона.

Другие вопросы по тегам