SharePoint 2010 Claims Auth/FBA - reimpostare la password non funziona
-
28-10-2019 - |
Domanda
Ho un sito SP con autenticazione di rivendicazioni e configurazione FBA. Dual Auth Win/Forms funziona perfettamente.
Ho un ASP: Passwordrecovery Control sulla pagina dell'app. Sembra cercare correttamente l'account: restituire messaggi "non trovati" se il nome utente non viene trovato. Tuttavia, non riesce a reimpostare la password con il seguente esecutivo:
Exception information:
Exception type: NotImplementedException
Exception message: The method or operation is not implemented.
Thread information:
Thread ID: 10
Thread account name: SERVER01\SPS_Farm
Is impersonating: False
Stack trace: at Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider.GetUser(String name, Boolean userIsOnline)
at System.Web.Security.MembershipProvider.GetUser(String username, Boolean userIsOnline, Boolean throwOnError)
at System.Web.UI.WebControls.PasswordRecovery.AttemptSendPasswordUserNameView()
at System.Web.UI.WebControls.PasswordRecovery.OnBubbleEvent(Object source, EventArgs e)
at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Grazie in anticipo.
Aggiornare:
Ho aggiunto:
ablepassWordreset = "true"
all'app web.config e al servizio token web.config
Ha scritto un po 'di codice per eseguire un test manuale e lo ha comunque ottenuto quando il mio codice ha provato a "reimpostare" la password:
Questo provider non è configurato per consentire i ripristini della password. Per abilitare il reimpostazione della password, impostare AbilitaPassWordreset su "true" nel file di configurazione.
Soluzione
Questo potrebbe non essere d'aiuto dal momento che sembri cercare correttamente l'utente ... ma se non lo fai, so che puoi imbatterti in problemi non implementati:
Assicurati di ottenere un'istanza dell'utente utilizzando il fornitore di iscrizione appropriato.
per esempio
MembershipUser myUser = Membership.Providers["aspMembership"].GetUser(userName, false);
Spero che sia di aiuto.