Pregunta

Estoy tratando de crear un SPWEB en Page_LOAD a través de un control en el sitio. Recibo el error "La validación de seguridad para esta página no es válida".

Tengo una devolución de datos (sin solicitud de pedido) y también intentó la esputilidad. ValidateFormdigest en el método ONINIT y directamente antes de ejecutar losElvelElegues.

He colocado un control de formdigües en el ASCX de mi control. La maestra es Seattle.Master y contiene el productor y control de formdigestplCe.

Funciona en el sistema de desarrollo con una cuenta de granja, pero no en la integración. Estoy en SP2013.

¿Alguna sugerencia?

[Actualizar 2] OK El código en la actualización 1 no fue el problema real. El problema real ocurrió en la siguiente línea:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CreateMeetingRepost", "document.forms[0].submit();", true);

En la página_load, estoy registrando este código para enviar el sitio a sí mismo para obtener una devolución de datos. Pero después de que ocurra el pago y el control se carga completamente, la página está obteniendo un error de validación de seguridad en otro lugar (no en mi código). ¿Alguna sugerencia?

Todo lo que quiero hacer es crear un subsito. Intenté permitirme a rootweb y sitio, pero eso no funcionó. SharePoint lanza una excepción INNERERException mientras está copiando contenido de contenido a la nueva web.

[update1 - no el problema] algún código - MeetingManager.CreatemeetingandFillurl crea el subsito

SPSecurity.RunWithElevatedPrivileges(() =>
            {
                using (SPSite elevatedSite = new SPSite(SPContext.Current.Site.ID))
                {
                    using (SPLongOperation operation = new SPLongOperation(this.Page))
                    {
                        operation.LeadingHTML = "Meeting wird erstellt";
                        operation.Begin();
                        MeetingManager.CreateMeetingAndFillUrl(elevatedSite, currentMeeting);

                        try
                        {
                            operation.End(currentMeeting.Url);
                        }
                        catch (ThreadAbortException)
                        {
                            // This exception is thrown because the SPLongOperation.End
                            // calls a Response.End internally
                            // see: http://dotnetfollower.com/wordpress/2011/08/sharepoint-how-to-use-splongoperation/
                        }
                    }
                }
            });

¿Fue útil?

Solución

I found the problem. All the code is correct but there is an error in March 2013 PU. The FormDigest is set invalid and when doing a post the error occures. This is a real bad error.

http://nikpatel.net/2013/09/06/sharepoint-march-2013-public-update-invalid-formdigest-client-svc-processquery-403-forbidden/

Licenciado bajo: CC-BY-SA con atribución
scroll top