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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top