Error de validación de seguridad

22/04/2009 - 13:54 por laura | Informe spam
Hola,
Hemos desarrollado una aplicación web para generar y configurar nuevos
portales de MOSS (colecciones de sitios y sitios) y todo va bien, excepto un
error que nos ocurre repetidamente en el momento de la creación del portal:
*******************
"La validación de seguridad de esta página no es correcta. Haga clic en
Atrás en el explorador Web, actualice la página y vuelva a intentar la
operación.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.

Detalles de la excepción: System.Runtime.InteropServices.COMException: La
validación de seguridad de esta página no es correcta. Haga clic en Atrás en
el explorador Web, actualice la página y vuelva a intentar la operación."
********************

Reseteando el IIS se soluciona, pero necesitamos que deje de reproducirse el
error sin tener que forzar el iisreset.


Hemos probado todo lo que hemos encontrado por google, como el uso de
AllowUnsafeUpdates y FormDigest, pero sigue fallando



copio código:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SiteURL))
{
site.AllowUnsafeUpdates = true;
using (SPWeb web = site.OpenWeb())
{
SPWebApplication webApp = web.Site.WebApplication;
webApp.FormDigestSettings.Enabled = false;
web.AllowUnsafeUpdates = true;
web.Update();
webApp.Sites.Add(
url,
titulo,
descripcion,
idioma,
plantilla,
propietario,
nombre,
mail);
web.AllowUnsafeUpdates = false;
web.AlternateCssUrl = cssURL;
web.Update();
web.Dispose();
webApp.FormDigestSettings.Enabled = true;
}
site.AllowUnsafeUpdates = false;
}
});
-
y en la aspx:

<%@ Register Tagprefix="SharePoint"
Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint,
Version.0.0.0, Culture=neutral, PublicKeyTokenqe9bce111e9429c" %>


<form id="form1" runat="server" method="post">
<SharePoint:FormDigest ID="FormDigest1" runat="server"/>
-


Muchísimas gracias por adelantado a quien nos pueda prestar una ayuda.

Preguntas similare

Leer las respuestas

#1 Gustavo
22/04/2009 - 22:21 | Informe spam
Hola Laura,
El RunWithElevatedPrivileges usa la cuenta del grupo de aplicaciones
(Application Pool en IIS) para ejecutar el codigo. Asegurate que esta cuenta
tiene suficientes derechos para hacer lo que deseas (crear aplicaciones web,
por ejemplo).
Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx
http://geeks.ms/blogs/gvelez/


"laura" wrote:

Hola,
Hemos desarrollado una aplicación web para generar y configurar nuevos
portales de MOSS (colecciones de sitios y sitios) y todo va bien, excepto un
error que nos ocurre repetidamente en el momento de la creación del portal:
*******************
"La validación de seguridad de esta página no es correcta. Haga clic en
Atrás en el explorador Web, actualice la página y vuelva a intentar la
operación.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
Revise el seguimiento de la pila para obtener más información acerca del
error y dónde se originó en el código.

Detalles de la excepción: System.Runtime.InteropServices.COMException: La
validación de seguridad de esta página no es correcta. Haga clic en Atrás en
el explorador Web, actualice la página y vuelva a intentar la operación."
********************

Reseteando el IIS se soluciona, pero necesitamos que deje de reproducirse el
error sin tener que forzar el iisreset.


Hemos probado todo lo que hemos encontrado por google, como el uso de
AllowUnsafeUpdates y FormDigest, pero sigue fallando



copio código:

SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SiteURL))
{
site.AllowUnsafeUpdates = true;
using (SPWeb web = site.OpenWeb())
{
SPWebApplication webApp = web.Site.WebApplication;
webApp.FormDigestSettings.Enabled = false;
web.AllowUnsafeUpdates = true;
web.Update();
webApp.Sites.Add(
url,
titulo,
descripcion,
idioma,
plantilla,
propietario,
nombre,
mail);
web.AllowUnsafeUpdates = false;
web.AlternateCssUrl = cssURL;
web.Update();
web.Dispose();
webApp.FormDigestSettings.Enabled = true;
}
site.AllowUnsafeUpdates = false;
}
});
-
y en la aspx:

<%@ Register Tagprefix="SharePoint"
Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint,
Version.0.0.0, Culture=neutral, PublicKeyTokenqe9bce111e9429c" %>


<form id="form1" runat="server" method="post">
<SharePoint:FormDigest ID="FormDigest1" runat="server"/>
-


Muchísimas gracias por adelantado a quien nos pueda prestar una ayuda.
Respuesta Responder a este mensaje
#2 laura
23/04/2009 - 13:46 | Informe spam
Muchas gracias!
Tenemos 2 entornos, en uno la cuenta del App Pool tenia los permisos
adecuados, y se reproducía el error.
Lo "solucionamos" desactivando la Validación de seguridad de página Web ,
desde Administración de aplicaciones ->Configuración general de la aplicación
Web.
Lo que no sé es lo que puede implicar esto, ya que vamos a usar un proveedor
de autenticación porque tendremos parte pública y parte privada en los
portales...
(primero lo intentamos poniendo la caducidad a nunca, y no funcionó)

En el otro entorno que tenemos (de producción), ya habíamos desactivado la
Validación de seguridad, y se producía otro error que solucionamos cambiando
la cuenta del App Pool.

Mi duda es lo que puede implicar haber desactivado la validación de seguridad.

Muchas gracias por todo




"Gustavo" wrote:

Hola Laura,
El RunWithElevatedPrivileges usa la cuenta del grupo de aplicaciones
(Application Pool en IIS) para ejecutar el codigo. Asegurate que esta cuenta
tiene suficientes derechos para hacer lo que deseas (crear aplicaciones web,
por ejemplo).
Suerte,
Gustavo
http://www.gavd.net/servers/default.aspx
http://geeks.ms/blogs/gvelez/


"laura" wrote:

> Hola,
> Hemos desarrollado una aplicación web para generar y configurar nuevos
> portales de MOSS (colecciones de sitios y sitios) y todo va bien, excepto un
> error que nos ocurre repetidamente en el momento de la creación del portal:
> *******************
> "La validación de seguridad de esta página no es correcta. Haga clic en
> Atrás en el explorador Web, actualice la página y vuelva a intentar la
> operación.
> Descripción: Excepción no controlada al ejecutar la solicitud Web actual.
> Revise el seguimiento de la pila para obtener más información acerca del
> error y dónde se originó en el código.
>
> Detalles de la excepción: System.Runtime.InteropServices.COMException: La
> validación de seguridad de esta página no es correcta. Haga clic en Atrás en
> el explorador Web, actualice la página y vuelva a intentar la operación."
> ********************
>
> Reseteando el IIS se soluciona, pero necesitamos que deje de reproducirse el
> error sin tener que forzar el iisreset.
>
>
> Hemos probado todo lo que hemos encontrado por google, como el uso de
> AllowUnsafeUpdates y FormDigest, pero sigue fallando
>
>
>
> copio código:
>
> SPSecurity.RunWithElevatedPrivileges(delegate()
> {
> using (SPSite site = new SPSite(SiteURL))
> {
> site.AllowUnsafeUpdates = true;
> using (SPWeb web = site.OpenWeb())
> {
> SPWebApplication webApp = web.Site.WebApplication;
> webApp.FormDigestSettings.Enabled = false;
> web.AllowUnsafeUpdates = true;
> web.Update();
> webApp.Sites.Add(
> url,
> titulo,
> descripcion,
> idioma,
> plantilla,
> propietario,
> nombre,
> mail);
> web.AllowUnsafeUpdates = false;
> web.AlternateCssUrl = cssURL;
> web.Update();
> web.Dispose();
> webApp.FormDigestSettings.Enabled = true;
> }
> site.AllowUnsafeUpdates = false;
> }
> });
> -
> y en la aspx:
>
> <%@ Register Tagprefix="SharePoint"
> Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint,
> Version.0.0.0, Culture=neutral, PublicKeyTokenqe9bce111e9429c" %>
>
>
> <form id="form1" runat="server" method="post">
> <SharePoint:FormDigest ID="FormDigest1" runat="server"/>
> -
>
>
> Muchísimas gracias por adelantado a quien nos pueda prestar una ayuda.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida