【问题标题】:TelerikProfileProvider with custom Membership ProviderTelerikProfileProvider 与自定义成员资格提供者
【发布时间】:2009-09-29 16:26:40
【问题描述】:

我设置了两个会员提供程序:我的自定义提供程序和 Sitefinity 提供程序。我的自定义会员提供程序设置为默认值。

我想为两组用户使用 Sitefinity 的个人资料提供程序。但是,配置文件提供者似乎只适用于我从 Sitefinity 会员提供者中退出的用户。

在仔细研究了一下 Reflector 之后,Telerik Profile Provider 似乎假设用户名存在于它自己的数据库中。

User userByName = this.Application.GetUserByName(userName);
if (userByName != null)
{
// magic happens here...
}

只有当它能够在本地检索用户时,所有魔法才会发生。似乎违反了提供者的原则。我不应该可以随意向任何用户添加属性,而不管会员资格提供者如何?

(我在 Sitefinity 论坛上发过 also posted this,但还没有得到回复。SO 把我宠坏了。我期待在几分钟内得到答复,而不是几天。)

【问题讨论】:

    标签: asp.net-membership sitefinity


    【解决方案1】:

    如果我对您的理解正确,您希望使用 sitefininty 提供商作为基础,并将一些附加信息附加到用户个人资料中。

    一般来说,我建议不要尝试与内部站点有限管理混为一谈。而是尝试将您想要执行的任何功能附加到标准提供程序。

    我过去在这些情况下所做的是创建一个成员资格提供程序包装器(在您的情况下是 ProfileProviderWrapper),它保存对另一个配置文件提供程序的内部引用,同时作为一个配置文件提供程序本身。

    通过这种方式,您可以在回调实际底层提供程序之前/之后执行您想要的任何代码(或者您可能根本不回调)。 例如:在返回配置文件之前,您可以为其附加其他属性。

    这样您就不会破坏站点限制行为,同时仍然可以进行干预。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多