In un'applicazione web ASP.net ho definito il seguente provider di appartenenze nel web.config:requiresQuestionAndAnswer impostata su false nella web.config, ma RequiresQuestionAndAnswer è vero in fase di esecuzione
<membership>
<providers>
<add connectionStringName="MyServer" name="MyServer" type="System.Web.Security.SqlMembershipProvider"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
enablePasswordRetrieval="false" />
</providers>
</membership>
Quando eseguo l'applicazione in il debugger, la proprietà Membership.Provider.RequiresQuestionAndAnswer
è true
.
Perché? E come posso risolvere questo?
Aggiornamento: Ar tuntime, la raccolta Membership.Providers
contiene due istanze di Provider che sono quasi identiche. Le differenze sono:
- Il primo provider ha nome == "AspNetSqlMembershipProvider" e RequiresQuestionAndAnswer == true
- Il secondo provider ha nome == "MyServer" e RequiresQuestionAndAnswer == false.
Ora cercando di capire da dove viene il primo.
Il nome del provider nel debugger corrisponde al nome del provider ("MyServer")? –
@ MeidanAlon il nome del provider nel debugger sembra essere "AspNetSqlMembershipProvider". Allo stesso tempo, mostra la stringa di connessione SQL corretta, quindi sembra che sia quella giusta. – urig
È strano, proverei ad aggiungere defaultProvider = "MyServer" all'interno dell'appartenenza e a –