Problema con el nombre de usuario del servidor de la comunidad: el nombre de usuario no se encuentra en el almacén de miembros no existe

StackOverflow https://stackoverflow.com/questions/156688

  •  03-07-2019
  •  | 
  •  

Pregunta

Ocurro con frecuencia un error en la instalación de nuestro servidor de la comunidad cada vez que el googlesitemap.ashx se recorre en una sección específica ID. Sospecho que se ha modificado un nombre de usuario, pero las publicaciones no se han vuelto a vincular para reflejar esto.

¿Existe una forma en la que se pueda verificar la integridad de los datos mediante la ejecución de una declaración de selección en la base de datos, como alternativa hay una forma de forzar la reclasificación de la base de datos?

¿Fue útil?

Solución

Este servidor de la comunidad podría lanzar este error si encuentra usuarios que no están en la instancia de MemberRoleProfileProvider.

Ver CommunityServer.Users AddMembershipDataToUser () como ejemplo

ACTUALIZAR:


Resolví este problema para mi caso al notar que los nombres de usuario están almacenados en dos tablas: cs_Users y aspnet_Users. Resulta que, de alguna manera, el nombre de usuario era DIFERENTE en cada tabla. La actualización manual para que los nombres fueran los mismos solucionó este problema.

Además, el usuario quedaría fuera de la membresía en la siguiente línea del procedimiento almacenado cs_Membership_GetUsersByName :

INSERT INTO @tbUsers
  SELECT UserId
  FROM   dbo.aspnet_Users ar, @tbNames t
  WHERE  LOWER(t.Name) = ar.LoweredUserName AND ar.ApplicationId = @ApplicationId

La @tbNames es una tabla de nombres que proviene de cs_Users (?) en algún momento y, por lo tanto, los nombres de usuario no coinciden y el usuario no se insertó en el resultado más adelante.


Vea también: http://dev.communityserver.com/ forums / t / 490899.aspx? PageIndex = 2

Otros consejos

No es tanto una respuesta, pero puede encontrar las entradas de datos afectadas ejecutando la siguiente consulta ...

Select * 
FROM cs_Posts
Where UserID Not In (Select UserID 
                     From cs_Users Where UserAccountStatus = 2)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top