SimpleMembershipProvider MinRequiredPasswordLength всегда возвращает 0, несмотря на то, что оно определено как 6 в разделе поставщика членства Web.config
Я перешел наSimpleMembershipProvider
в приложении ASP.NET MVC 4. Все остальное работает отлично, но есть эта проблема ...
Когда я пытаюсь этот код:
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?
Solution for the moment
Чтобы преодолетьSimpleMembershipProvider
ограничение тока я использовалэтот код захватить значение, определенное в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"]);