Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SPS2003 SP1fr ] problème de sécurité lors de la création d'un s it

1 réponse
Avatar
Yoann
Bonjour,

Je souhaite créer un SPWeb depuis une page aspx de la manière suivante :

SPSite mySite= SPControl.GetContextSite(this.Context);
SPWeb myWeb = mySite.AllWebs["sites"];// Le site est créé à un emplacement
différent de celui de page courante.
myWeb.Webs.Add(url,txtbx_NomSite.Text,txtbx_Description.Text,
(uint)System.Threading.Thread.CurrentThread.CurrentUICulture.LCID, Variables.template,true,false);

Or se code me retourne l’erreur suivante, que j’utilise l’impersonation ou
non :
La validation de la sécurité de cette page n'est pas valide. Cliquez sur
Précédente de votre navigateur et retentez l'opération.

Par contre si je crée le SPWeb directement dans le contexte cela fonctionne.

SPSite mySite= SPControl.GetContextSite(this.Context);
SPWeb myWeb = mySite.OpenWeb(); //Le site est crée au même niveau que la
page courante
myWeb.Webs.Add(url,txtbx_NomSite.Text,txtbx_Description.Text,
(uint)System.Threading.Thread.CurrentThread.CurrentUICulture.LCID, Variables.template,true,false);

Pourquoi cette différence ?

L’objectif au final est de permettre la création automatique de site à
l’aide d’un webpart avec la mise en place des différents droits.
Pour l’instant je teste la création dans une page aspx pour voir la mise en
page.
Est-ce que cette erreur ce produira toujours dans webpart ?
Existe-il un autre moyen de créer le site ?

Cordialement

Yoann

1 réponse

Avatar
Renaud Comte
Eh eh eh, c'est un classique...

une page ASPX n'a pas le même contexte de sécurité qu'une webPart

Essayez :

site.AllowUnsafeUpdates=true;
web.AllowUnsafeUpdates=true;

Ps :Allwebs est une méthode réservé aux admin
preferez lui, new SPsite["urlWeb"].openweb(); qui elle n'a pas les soucis






de secu de la premiere

Voila

Renaud COMTE [MVP]
---------------------------------
http://blogs.developpeur.org/themit/
http://blog.spsclerics.com/

Bonjour,

Je souhaite créer un SPWeb depuis une page aspx de la manière
suivante :

SPSite mySite= SPControl.GetContextSite(this.Context);
SPWeb myWeb = mySite.AllWebs["sites"];// Le site est créé à un
emplacement
différent de celui de page courante.
myWeb.Webs.Add(url,txtbx_NomSite.Text,txtbx_Description.Text,
(uint)System.Threading.Thread.CurrentThread.CurrentUICulture.LCID,
Variables.template,true,false);
Or se code me retourne l'erreur suivante, que j'utilise
l'impersonation ou
non :
La validation de la sécurité de cette page n'est pas valide. Cliquez
sur
Précédente de votre navigateur et retentez l'opération.
Par contre si je crée le SPWeb directement dans le contexte cela
fonctionne.

SPSite mySite= SPControl.GetContextSite(this.Context);
SPWeb myWeb = mySite.OpenWeb(); //Le site est crée au même niveau que
la
page courante
myWeb.Webs.Add(url,txtbx_NomSite.Text,txtbx_Description.Text,
(uint)System.Threading.Thread.CurrentThread.CurrentUICulture.LCID,
Variables.template,true,false);
Pourquoi cette différence ?

L'objectif au final est de permettre la création automatique de site à
l'aide d'un webpart avec la mise en place des différents droits.
Pour l'instant je teste la création dans une page aspx pour voir la
mise en
page.
Est-ce que cette erreur ce produira toujours dans webpart ?
Existe-il un autre moyen de créer le site ?
Cordialement

Yoann