SharePoint 2010 behauptet Auth/FBA - Das Kennwort zurücksetzen nicht funktioniert nicht
-
28-10-2019 - |
Frage
Ich habe eine SP -Website mit Ansprüchenauthentifizierung und FBA -Setup. Dual AUTH -Gewinn/Formulare funktioniert perfekt.
Ich habe einen ASP: PasswordRecovery -Steuerelement auf der App -Seite. Es scheint das Konto korrekt zu suchen - Rückgabe von "Nicht gefundenen" Nachrichten, wenn der Benutzername nicht gefunden wird. Es kann das Passwort mit der folgenden Ausführung jedoch nicht zurücksetzen:
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)
Danke im Voraus.
Aktualisieren:
Ich fügte hinzu:
enablePasswordReset = "true"
an die App web.config und der Token-Service Web.config
Schrieb einen Code, um einen manuellen Test durchzuführen, und bekam diesen, als mein Code versuchte, das Passwort zurückzusetzen:
Dieser Anbieter ist nicht so konfiguriert, dass das Zurücksetzen des Kennworts zuzulassen. Um das Zurücksetzen des Kennworts zu aktivieren, setzen Sie in der Konfigurationsdatei enablePasswordReset auf "true".
Lösung
Dies hilft möglicherweise nicht, da Sie den Benutzer anscheinend richtig nachschlagen ... aber wenn Sie dies nicht tun, weiß ich, dass Sie auf keine implementierten Probleme stoßen können:
Stellen Sie sicher, dass Sie eine Instanz des Benutzers mit dem entsprechenden Mitgliedsanbieter erhalten.
z.B
MembershipUser myUser = Membership.Providers["aspMembership"].GetUser(userName, false);
Hoffe das hilft.