好的,我有一组三个网络应用程序。
我现有的 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>
我应该以什么方式合并所有三个 web.configs?
我的目标是拥有以下应用程序结构:
所有三个都集成在同一个 ASP.NET 下成员(member)模式。
为了完成这个我显然需要
- 在所有网络配置文件中使用相同的机器 key ,或者我读过?
- 我认为告诉所有三个应用程序什么是“Web 根目录”是有意义的?例如,将其设置为 "www.website.com"
- 合并成员(member)资料,我该如何实现,我在某处读到 YAF从他们的自定义配置文件提供程序继承的实现覆盖了
profile
部分的properties
节点中的任何内容。我在编辑它们的实现或源代码时没有问题。我是否应该将 BugNET 中的自定义属性编辑到 YAF.Utils.YafUserProfile 中?的实现,也许还可以将其重命名为更合适的名称,或者将其放入我的主要网站解决方案中? - “扩展成员(member)提供者”怎么样 BugNET好像在用?我应该按原样测试一下并确定它们是否兼容吗?在不同的解决方案中使用不同的实现方式是否兼容?
- 还有什么我可能遗漏的吗?
另外,我应该提一下,我打算有一个名为 App_Shared
的特殊文件夹,它将在主网站项目中,以及一个 svn-external 到 YAF.NET和 BugNET .在那里,我打算放置一个所有三个应用程序都应继承的基本母版页,这样我就可以共享一些非常基本的细节,如页眉、页脚和站点地图。
欢迎大家帮忙,谢谢!
最佳答案
不是直接的答案,但 Dave Burk 在 Sueetie 中完美地做到了.它不包含 Bug.Net,但包含 YAF、BlogEngine.Net、Screwturn Wiki 和 Gallery Server Pro。来源是免费的。下载并用作模板。
关于c# - 现有网站 + BugNET + YAF ASP.NET 成员(member)集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6405327/