Pregunta

Tengo un sitio SP con autenticación de reclamos y configuración de FBA. Dual Auth Win/Forms funciona perfectamente.

Tengo un ASP: Control de control de contraseña en la página de la aplicación. Parece buscar la cuenta correctamente: devolver los mensajes 'no encontrados' si no se encuentra el nombre de usuario. Sin embargo, no puede restablecer la contraseña con la siguiente ejecución:

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)  

Gracias por adelantado.

Actualizar:
Yo añadí:
EnablePassWordReset = "verdadero"
a la aplicación web.config y el token-service web.config

Escribió algún código para hacer una prueba manual, y aún así obtuve esto cuando mi código intentó 'restablecer' la contraseña:
Este proveedor no está configurado para permitir reinicios de contraseña. Para habilitar el restablecimiento de contraseña, establezca EnablePassWordReset en "Verdadero" en el archivo de configuración.

¿Fue útil?

Solución

Esto puede no ayudar, ya que parece estar buscando al usuario correctamente ... pero si no está haciendo esto, sé que puede encontrarse con problemas no implementados:

Asegúrese de obtener una instancia del usuario utilizando el proveedor de membresía apropiado.

p.ej

MembershipUser myUser = Membership.Providers["aspMembership"].GetUser(userName, false);

Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top