web-config – SimpleMembershipProvider MinRequiredPasswordLength始终返回0,尽管它在Web.config成员资格提供程序部分中被定义为6

web-config – SimpleMembershipProvider MinRequiredPasswordLength始终返回0,尽管它在Web.config成员资格提供程序部分中被定义为6,第1张

概述我在ASP.NET MVC 4应用程序中切换到 SimpleMembershipProvider.其他一切都很好但是有这个问题…… 当我尝试这段代码时: var password = Membership.GeneratePassword(Membership.MinRequiredPasswordLength, 0); MinRequiredPasswordLength始终为0.不读取成员资格提 我在ASP.NET MVC 4应用程序中切换到 SimpleMembershipProvider.其他一切都很好但是有这个问题……

当我尝试这段代码时:

var password = Membership.GeneratePassword(Membership.MinrequiredPasswordLength,0);

MinrequiredPasswordLength始终为0.不读取成员资格提供程序的Web.config部分中定义的设置.

这是成员资格默认提供程序Web.config部分:

<membership defaultProvIDer="AspNetsqlMembershipProvIDer">    <provIDers>         <clear />             <add name="AspNetsqlMembershipProvIDer"                  type="System.Web.Security.sqlMembershipProvIDer"                  connectionStringname="DefaultConnection"                  enablePasswordRetrIEval="false"                  enablePasswordreset="true"                  requiresQuestionAndAnswer="false"                  requiresUniqueEmail="false"                  maxInvalIDPasswordAttempts="5"                  minrequiredPasswordLength="6"                  minrequiredNonAlphanumericCharacters="0"                  passwordAttemptwindow="10"                  applicationname="/Acad" />    </provIDers></membership>

这是我得到的调试信息:

任何提示?

SimpleMembershipProvIDer是如此简单,甚至不使用Web.config部分?

解决方案

为了克服SimpleMembershipProvIDer当前限制,我使用this code来获取Web.config中定义的值:

MembershipSection membershipSection = (MembershipSection)WebConfigurationManager.GetSection("system.web/membership");var defaultProvIDer = membershipSection.DefaultProvIDer;ProvIDerSettings provIDerSettings = membershipSection.ProvIDers[defaultProvIDer];var minrequiredPasswordLength = int.Parse(provIDerSettings.Parameters["minrequiredPasswordLength"]);
解决方法

I switched to SimpleMembershipProvIDer in an ASP.NET MVC 4 app.

嗯,从您在web.config中显示的相关部分来看,这似乎根本就不是这样.您正在使用AspNetsqlMembershipProvIDer.

如果要切换到SimpleMembershipProvider,请确保已正确配置它:

<membership defaultProvIDer="SimpleMembershipProvIDer">  <provIDers>    <clear/>    <add name="SimpleMembershipProvIDer"         type="WebMatrix.WebData.SimpleMembershipProvIDer,WebMatrix.WebData"    />  </provIDers></membership>

这就是说SimpleMembershipProvIDer不支持通过web.config设置这些属性.它甚至没有使用它.如果您想要这样的功能,您必须自己实现它.

总结

以上是内存溢出为你收集整理的web-config – SimpleMembershipProvider MinRequiredPasswordLength始终返回0,尽管它在Web.config成员资格提供程序部分中被定义为6全部内容,希望文章能够帮你解决web-config – SimpleMembershipProvider MinRequiredPasswordLength始终返回0,尽管它在Web.config成员资格提供程序部分中被定义为6所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1107862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存