Существующий веб-сайт + 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?
Моя цель - иметь следующую структуру приложения:
И все три интегрированы под одной и той же моделью членства ASP.NET.
Для этого мне, очевидно, нужно
- Использовать один и тот же ключ компьютера во всех файлах веб-конфигурации, или я прочитал?
- Я думаю, что было что-то о том, чтобы сказать всем трем приложениям, что такое "веб-корень"? Как и в случае установки его на "www.website.com"
- Объедините профили членства, как бы мне этого добиться, я где-то читал, что реализация YAF наследования от своего провайдера пользовательских профилей переопределяет все, что помещено в
properties
узелprofile
раздел. У меня нет проблем с редактированием их реализации или исходного кода. Должен ли я, возможно, редактировать в YAF.Utils.YafUserProfile пользовательские свойства, которые есть в реализации BugNET, и, возможно, также переименовать его как нечто более адекватное, и, возможно, поместить его в свое основное решение для веб-сайта? - Что насчет "провайдера расширенного членства", который использует BugNET? я должен просто проверить это как есть и выяснить, совместимы ли они? Совместимо ли использование разных реализаций в разных решениях?
- Есть ли что-то еще, что я мог бы пропустить?
На дополнительном примечании я должен упомянуть, что я намереваюсь иметь специальную папку под названием App_Shared
, который будет в основном проекте веб-сайта, и svn-external как для YAF.NET, так и для BugNET. Там я намерен разместить основную главную страницу, от которой должны наследоваться все три приложения, поэтому я могу поделиться некоторыми очень основными деталями, такими как верхний колонтитул, нижний колонтитул и SiteMap.
Вся помощь приветствуется, спасибо!
1 ответ
Не прямой ответ, но Дейв Берк отлично сделал это в Sueetie. Он не содержит Bug.Net, но содержит YAF, BlogEngine.Net, Screwturn Wiki и Gallery Server Pro. Источник бесплатный. скачайте его и используйте в качестве шаблона.