SimpleMembershipProvider MinRequiredPasswordLength sempre retorna 0 apesar de estar definido como 6 na seção do provedor de associação Web.config
Eu mudei paraSimpleMembershipProvider
em um aplicativo ASP.NET MVC 4. Tudo o resto está funcionando muito bem, mas há esse problema ...
Quando eu tento este código:
var password = Membership.GeneratePassword(Membership.MinRequiredPasswordLength, 0);
MinRequiredPasswordLength
é sempre 0. As configurações definidas no provedor de associaçãoWeb.config
seção não estão sendo lidos.
Aqui está o provedor padrão de filiaçãoWeb.config
seção:
<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>
Aqui está a informação de depuração que recebo:
Alguma dica?
É oSimpleMembershipProvider
tão simples que nem usa a seção Web.config?
Solução para o momento
Para superar oSimpleMembershipProvider
limitação de corrente, eu useieste código para pegar o valor definido emWeb.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"]);