【问题标题】:Implement Umbraco membership provider in another site在另一个站点中实施 Umbraco 会员提供程序
【发布时间】:2012-07-10 05:03:24
【问题描述】:

我目前有一个带有会员设置的 Umbraco 4.7.1 网站,效果很好。

现在我想在另一个非 umbraco 网站中使用 umbraco 会员提供程序。我有一个客户拥有一些 .net 和经典的 asp 网站,他们希望获得会员信息的单一来源。

我还没有找到任何成功的实现或有效的示例..

有没有人可以分享,让它工作???

我已经接近了,但是当我点击 asp.net 登录控件上的“登录”按钮时出现 stackoverflow 错误。

谢谢

【问题讨论】:

  • 您是否在您的 Umbraco 会员类型上使用任何自定义属性?还是它们是普通的(电子邮件、登录名、密码)?
  • 您使用的是内部 Umbraco 会员系统还是自定义系统?如果您使用的是内部会员系统,则必须编写自定义提供程序。使用 umbraco.providers.members.UmbracoMembershipProvider 扩展您的会员提供者类。然而,这是一项开发人员密集型任务。
  • @BeaverProj - 我有一个普通的香草 umbraco 会员设置。
  • @Trikks,我使用了标准的 umbraco 会员系统。如果我必须扩展会员提供者类,我需要对此进行更多研究,因为我以前从未真正与会员提供者合作过。
  • 已修复..!!!!只是想弄清楚如何发布答案......

标签: asp.net-membership umbraco


【解决方案1】:

这是我的工作 web.config 的片段

<connectionStrings>
<remove name="MySqlConnection" />
<add name="MySqlConnection" connectionString="server=localhost;database=MSSM;user id=db_user;password=password" providerName="System.Data.SqlClient"/>

<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
  <providers>
    <clear />
    <add name="UmbracoMembershipProvider"
         type="umbraco.providers.members.UmbracoMembershipProvider"
         enablePasswordRetrieval="false" 
         enablePasswordReset="false" 
         requiresQuestionAndAnswer="false" 
         defaultMemberTypeAlias="Another Type" 
         passwordFormat="Hashed" />
    <add name="UsersMembershipProvider" 
         type="umbraco.providers.UsersMembershipProvider" 
         enablePasswordRetrieval="false" 
         enablePasswordReset="false" 
         requiresQuestionAndAnswer="false" 
         passwordFormat="Hashed" />
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="UmbracoRoleProvider">
  <providers>
    <clear />
    <add name="UmbracoRoleProvider" type="umbraco.providers.members.UmbracoRoleProvider" />
  </providers>
</roleManager>

<roleManager enabled="true" defaultProvider="UmbracoRoleProvider">
  <providers>
    <clear />
    <add name="UmbracoRoleProvider" type="umbraco.providers.members.UmbracoRoleProvider" />
  </providers>
</roleManager>

<appSettings>
<add key="umbracoDbDSN" value="server=localhost;database=MSSM;user id=db_user;password=password" />

下一个难题是将 umbracoSettings.config 文件从我的工作 umbraco 站点复制到我的 .net 站点下的“config”目录中。

/config/umbracoSettings.config

它现在可以完美运行了.. 我的头会从所有的头部撞击中恢复过来以使其正常工作.. 我希望这对某人有所帮助..

【讨论】:

  • 我正在玩弄 umbracoSettings.config 文件。该文件似乎可以是空白的..我认为它与文件末尾的“成员资格”部分有关,所以我删除了所有内容,但它仍然有效..即使在重置 IIS 并尝试不同的浏览器之后,等等最后我清除了文件,它仍然有效.. 然后我重命名了文件,它再次破坏了网站.. 重命名它并恢复,一切都恢复了。
  • 广告,我必须将哪些 Umbraco DLL 添加到我的第二个应用程序才能使用户管理正常工作?
  • @amhed 我添加了对以下内容的引用:busineslogic.dll、cms.dll、interfaces.dll、umbraco.dll、umbraco.providers.dll
  • @amhed 我没有尝试访问任何自定义属性。在我的情况下我不需要,我只需要对用户进行身份验证。如果你不能,我会感到惊讶..
  • 这就像一个魅力。谢谢你,先生!你是绅士和学者!
猜你喜欢
  • 1970-01-01
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
相关资源
最近更新 更多