c# - 现有网站 + BugNET + YAF ASP.NET 成员(member)集成

标签 c# integration membership bug-tracking yaf

好的,我有一组三个网络应用程序。

我现有的 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?

我的目标是拥有以下应用程序结构:

  • www.website.com [主站点]
  • forum.website.com YAF.NET
  • tracker.website.com BugNET

所有三个都集成在同一个 ASP.NET 下成员(member)模式。

为了完成这个我显然需要

  1. 在所有网络配置文件中使用相同的机器 key ,或者我读过?
  2. 我认为告诉所有三个应用程序什么是“Web 根目录”是有意义的?例如,将其设置为 "www.website.com"
  3. 合并成员(member)资料,我该如何实现,我在某处读到 YAF从他们的自定义配置文件提供程序继承的实现覆盖了 profile 部分的 properties 节点中的任何内容。我在编辑它们的实现或源代码时没有问题。我是否应该将 BugNET 中的自定义属性编辑到 YAF.Utils.YafUserProfile 中?的实现,也许还可以将其重命名为更合适的名称,或者将其放入我的主要网站解决方案中?
  4. “扩展成员(member)提供者”怎么样 BugNET好像在用?我应该按原样测试一下并确定它们是否兼容吗?在不同的解决方案中使用不同的实现方式是否兼容?
  5. 还有什么我可能遗漏的吗?

另外,我应该提一下,我打算有一个名为 App_Shared 的特殊文件夹,它将在主网站项目中,以及一个 svn-external 到 YAF.NETBugNET .在那里,我打算放置一个所有三个应用程序都应继承的基本母版页,这样我就可以共享一些非常基本的细节,如页眉、页脚和站点地图。

欢迎大家帮忙,谢谢!

最佳答案

不是直接的答案,但 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/

相关文章:

c# - 钩子(Hook)在没有委托(delegate)的情况下运行(反射)

django - 成员资格和事件 API?还是我应该自己做?

asp.net-mvc - 默认 AccountController 示例何时更改?

c# - Redis全文搜索与C#

c# - 使用 EWS 查找收件箱文件夹的所有子文件夹

c# - 如何记住登录表单的用户名或密码

gitlab - 如何将 Upsource 评论与 GitLab 讨论同步

c# - 如何将java嵌入到C#中

swift - 游戏中心整合

php - 成员(member)专区