Pergunta

Eu estou tentando criar um spweb no page_load através de um controle no site.Eu recebo o erro "A validação de segurança para esta página inválida".

Eu tenho um postback (GET-Request) e também tentou SPUtility.ValidateFormDigest onInit-Método e diretamente antes de RunWithElevatedPrivileagues.

Eu tenho colocado um FormDigest Controle sobre o ascx do meu controle.O masterpage é Seattle.mestre e contém o formdigestplceholder e controle.

Ele trabalha com o dev-sistema com farm de-conta, mas não no integrationsystem.Eu estou no SP2013.

Alguma sugestão?

[Update 2] Ok o código em 1 de Actualização não era o real problema.O real problema ocorreu na linha a seguir:

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

No Page_Load estou registrando este código para submeter o site para si mesmo para conseguir uma nova colocação.Mas, após a reposição ocorra e controle de totalmente carregada a página está recebendo um erro de validação de segurança em outro lugar (não no meu código).Alguma sugestão?

Tudo que eu quero fazer é criar um subsite.Eu tentei AllowUnsafeUpdate no Rootweb e o Site, mas não funcionou.SharePoint lança uma innerexception ao copiar contenttype para a nova web.

[Update1 - Não o Problema] Código De MeetingManager.CreateMeetingAndFillUrl cria o subsite

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/
                        }
                    }
                }
            });
Foi útil?

Solução

Eu encontrei o problema.Todo o código está correto, mas há um erro em Março de 2013 PU.O FormDigest é definido inválido e no momento de fazer um post o erro ocorra.Este é um bad real de erro.

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top