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.作者投稿可能会经我们编辑修改或补充。