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

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

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

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 .Там я собираюсь разместить главную страницу Base, от которой должны наследоваться все три приложения, поэтому я могу поделиться некоторыми очень основными деталями, такими как верхний и нижний колонтитулы и SiteMap.

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

1 Ответ

0 голосов
/ 15 августа 2011

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

...