Umbraco 覆盖或扩展默认成员资格提供者

zhengyun_ustc 阅读:68 2024-06-20 12:54:19 评论:0

我想在 Umbraco 6.1.6 中使用不同的提供程序,例如我有这个

    <membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15"> 
      <providers> 
        <clear /> 
    <add name="UmbracoMembershipProvider" type="umbraco.providers.members.UmbracoMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Website" passwordFormat="Hashed" umbracoApprovePropertyTypeAlias="isActive" umbracoLastLoginPropertyTypeAlias="loginDate" /> 
        <add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" /> 
      </providers> 
    </membership> 

但我想用这个

<membership defaultProvider="TechBureauMembershipProvider" userIsOnlineTimeWindow="15"> 
      <providers> 
        <clear/> 
        <add name="TechBureauMembershipProvider" type="TechBureau.Web.providers.TechBureauMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Website" passwordFormat="Hashed" umbracoApprovePropertyTypeAlias="isActive" umbracoLastLoginPropertyTypeAlias="loginDate"/> 
        <add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false"/> 
      </providers> 
    </membership> 

因为我想覆盖 ResetPassword 密码函数不做任何事情。

public class TechBureauMembershipProvider : UmbracoMembershipProvider 
{ 
    /// <summary> 
    /// Overriding this so that it does nothing, reseting a password to a random password isn't cool for anyone. 
    /// </summary> 
    /// <param name="username"></param> 
    /// <param name="answer"></param> 
    /// <returns></returns> 
    public override string ResetPassword(string username, string answer) 
    { 
        return string.Empty; //base.ResetPassword(username, answer); 
    } 
} 

但问题是,如果我这样做,“成员”选项卡不会加载。

请您参考如下方法:

David 走在正确的道路上,但我认为这里不需要反射覆盖。 更改 UmbracoMembershipProvider 的类型,但名称保持不变。

        <membership defaultProvider="TechBureauMembershipProvider" userIsOnlineTimeWindow="2880"> 
        <providers> 
            <clear/> 
            <add name="UmbracoMembershipProvider" type="TechBureau.Web.providers.TechBureauMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Member" passwordFormat="Hashed"/> 
            <add name="UsersMembershipProvider" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Hashed"/> 


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号