更改 System.Web.Security.MembershipProvider (EPiServer) 中密码策略验证的错误消息

Posted

技术标签:

【中文标题】更改 System.Web.Security.MembershipProvider (EPiServer) 中密码策略验证的错误消息【英文标题】:Change error message for password policy validation in System.Web.Security.MembershipProvider (EPiServer) 【发布时间】:2017-02-12 22:52:58 【问题描述】:

这是我的情况。

我使用的是 EPiServer 9,并且我已经配置了一个 SqlServerMembershipProvider,如下所示:

<add name="SqlServerMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                     connectionStringName="EPiServerXYZ"
                     enablePasswordRetrieval="false"
                     enablePasswordReset="true"
                     requiresQuestionAndAnswer="false"
                     requiresUniqueEmail="false"
                     maxInvalidPasswordAttempts="5"
                     minRequiredPasswordLength="8"
                     minRequiredNonalphanumericCharacters="1"
                     passwordAttemptWindow="10"
                     applicationName="/"
                     passwordStrengthRegularExpression="^.*(?=.8,)(?=.*\d)(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^\w\d\s]).*$" />

一切正常,验证和不同的场景。

我们的问题是会员提供者显示的错误消息是通过使用配置创建的,它最终给出了不友好的消息,例如:

'无效密码,最小长度:8,最少非字母数字字符:1' “newPassword”中的非字母数字字符需要大于或等于“1”。参数名称:newPassword' '参数'newPassword'与配置文件中指定的正则表达式不匹配。参数名称:newPassword'

我很想设置一条自定义错误消息,向用户真正解释我们在用于验证密码的正则表达式中的所有要求。

到目前为止,我能想到的唯一方法是实现/扩展我们正在使用的当前提供程序,以便在验证出现问题时设置自定义错误消息,但我想可能还有另一种更好/更简单的方法这样做。

提前致谢!

【问题讨论】:

自定义可能是最好的方法,除了覆盖 ValidateUser() 之外,您可能不需要做太多事情。如果无效,则只需管理您的自定义消息。初学者试试这个:***.com/a/12094556/2779990 【参考方案1】:

我同意您的自定义错误消息想法。

考虑显示一个带有 UI 错误消息的 div,这些消息在检测到输入错误之前会一直隐藏。这可以位于输入文本框的右侧或提交按钮上方。显示的错误消息取决于检测到的输入错误。

对于任何密码/确认密码输入错误,请定义通用密码错误消息,然后列出与您的问题一起列出的密码输入要求。

可以为用户名和电子邮件地址输入错误添加其他错误消息。

【讨论】:

屏幕截图是一个 OOTB Episerver 功能,UI 的那部分不容易定制。 :/ 所以我认为覆盖默认错误消息的自定义实现是最简单的方法。 好点,所以为错误消息创建一个新的 div 对于 Episerver 来说可能是不可行的。我希望 Episerver 能够显示自定义错误消息,尽管我不知道会这样。

以上是关于更改 System.Web.Security.MembershipProvider (EPiServer) 中密码策略验证的错误消息的主要内容,如果未能解决你的问题,请参考以下文章

在运行时更改方向更改 ViewControllers

UIScrollView 更改 contentOffset 时更改框架

HAC集群更改IP(单节点更改全部节点更改)

HAC集群更改IP(单节点更改全部节点更改)

设备方向更改时更改 UIImage

phpmyadmin 在更改任何值时更改日期