S
SD
Bonjour,
Voilà mon pb:
J'ai un programme exe (signé) qui à l'ouverture d'une session d'un
utilisateur Windows va interagir avec les web services WSS2003.
Cet exe est lancé de façon artificielle avec les privilèges admin , à la
fois admin de la machine de l'utilisateur et à la fois admin de WSS2003
(compte du pool WSS + admin du site), donc normalement pas de pbs de droits.
Dans cet exe je suis amené à récupérer la liste complète des sites
sharepoint, en gros :
// Accès au web service "http://...../_vti_bin/Webs.asmx", mode statique
Webs oWebs= new Webs();
oWebs.Credentials = System.Net.CredentialCache.DefaultCredentials; //
récupère le compte d'exécution du process
//oWebs.Credentials = oNC;
oWebs.Url = Utils.Site + Utils.WebsServiceName;
XmlNode xn = oWebs.GetAllSubWebCollection();
Or lors de l'appel de la méthode GetAllSubWebCollection(), j'ai l'exception
suivante :
Échec de la demande pour une autorisation de type System.Net.WebPermission,
Syst
em, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
mscorlib
at System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet
granted
Set, PermissionSet deniedSet, CodeAccessPermission demand, PermissionToken
permT
oken)
at System.Security.CodeAccessSecurityEngine.Check(PermissionToken
permToken,
CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames,
Int32
unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission
cap, S
tackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Net.HttpRequestCreator.Create(Uri Uri)
at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
at System.Net.WebRequest.Create(Uri requestUri)
at System.Web.Services.Protocols.WebClientProtocol.GetWebRequest(Uri uri)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebRequest(Uri
uri)
at System.Web.Services.Protocols.SoapHttpClientProtocol.GetWebRequest(Uri
uri
)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodN
ame, Object[] parameters)
at ManageWebFolders.Webs.Webs.GetAllSubWebCollection()
at
ACFCIHexagone.ManageWebFolders.ManageWebFolders.GetWebCollection(String sU
rl, Hashtable ht)
J'ai bien conscience qu'il s'agit d'un pb de sécurité, mais je ne sais pas
trop ou agir.
Des idées ?
Merci par avance.
Cdt,
SD
Voilà mon pb:
J'ai un programme exe (signé) qui à l'ouverture d'une session d'un
utilisateur Windows va interagir avec les web services WSS2003.
Cet exe est lancé de façon artificielle avec les privilèges admin , à la
fois admin de la machine de l'utilisateur et à la fois admin de WSS2003
(compte du pool WSS + admin du site), donc normalement pas de pbs de droits.
Dans cet exe je suis amené à récupérer la liste complète des sites
sharepoint, en gros :
// Accès au web service "http://...../_vti_bin/Webs.asmx", mode statique
Webs oWebs= new Webs();
oWebs.Credentials = System.Net.CredentialCache.DefaultCredentials; //
récupère le compte d'exécution du process
//oWebs.Credentials = oNC;
oWebs.Url = Utils.Site + Utils.WebsServiceName;
XmlNode xn = oWebs.GetAllSubWebCollection();
Or lors de l'appel de la méthode GetAllSubWebCollection(), j'ai l'exception
suivante :
Échec de la demande pour une autorisation de type System.Net.WebPermission,
Syst
em, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
mscorlib
at System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet
granted
Set, PermissionSet deniedSet, CodeAccessPermission demand, PermissionToken
permT
oken)
at System.Security.CodeAccessSecurityEngine.Check(PermissionToken
permToken,
CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames,
Int32
unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission
cap, S
tackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Net.HttpRequestCreator.Create(Uri Uri)
at System.Net.WebRequest.Create(Uri requestUri, Boolean useUriBase)
at System.Net.WebRequest.Create(Uri requestUri)
at System.Web.Services.Protocols.WebClientProtocol.GetWebRequest(Uri uri)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebRequest(Uri
uri)
at System.Web.Services.Protocols.SoapHttpClientProtocol.GetWebRequest(Uri
uri
)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodN
ame, Object[] parameters)
at ManageWebFolders.Webs.Webs.GetAllSubWebCollection()
at
ACFCIHexagone.ManageWebFolders.ManageWebFolders.GetWebCollection(String sU
rl, Hashtable ht)
J'ai bien conscience qu'il s'agit d'un pb de sécurité, mais je ne sais pas
trop ou agir.
Des idées ?
Merci par avance.
Cdt,
SD