Errore di convalida della sicurezza
-
10-12-2019 - |
Domanda
Sto cercando di creare uno SPWeb in Page_load tramite un controllo sul sito. Ottengo l'errore "La convalida della sicurezza per questa pagina non è valida".
Ho un postback (nessuna richiesta di ricezione) e ha anche provato la sputility.ValidateFormDigest nel metodo OnINIT e direttamente prima dei runwithelevatedPribleAgues.
Ho inserito un controllo formidigest sull'Ascx del mio controllo. La masterpage è Seattle.master e contiene il formidigestplCeholder e il controllo.
funziona sul sistema di dev con account agricole ma non sul sistema integrativo. Sono su SP2013.
Qualche suggerimento?
[Aggiorna 2] OK Il codice in aggiornamento 1 non era il vero problema. Il vero problema si è verificato nella seguente riga:
.
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CreateMeetingRepost", "document.forms[0].submit();", true);
Nella pagina_load sto registrando questo codice per inviare il sito a se stesso per ottenere un postback. Ma dopo che il postback si verifica e il controllo è completamente caricato, la pagina è ottenere un errore di convalida della sicurezza da qualche altra parte (non nel mio codice). Qualche suggerimento?
Tutto quello che voglio fare è creare un ribelli. Ho provato AllowunSafeupdate su rootweb e sito ma non funzionava. SharePoint lancia una Innerexception mentre copia il contentType al nuovo Web.
[Update1 - Non è il problema] Alcuni codice - MeetingManager.CreateMeemeetingAndFillurl crea il sottostingue
.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/
}
}
}
});
Soluzione
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.