OVH Cloud OVH Cloud

[WSS 2003] Erreur de sécurité

4 réponses
Avatar
sda
Bonjour,

Voici mon pb :
Mon projet WebPart Library comporte 2 classes :
**************************************************************
// La classe de base
namespace ContentAggregationWP
{
......
public class ContentAggregationWP :
Microsoft.SharePoint.WebPartPages.WebPart
{
***************************************************************
// Une deuxième classe

namespace ContentAggregationWP
{
public class GetLibrariesData
{
.......
*****************************************************************
Mon projet WebPart Library a une référence sur une API qui fournit des
méthodes d'accès à aux WebServices WSS.
Cette API a un nom fort, et est enregistrée dans mon manifest :
<SafeControls>
<!-- Le namespace de mon API -->
<SafeControl Namespace="ContentAggregationWP" TypeName="*"
Safe="True" />
<!-- Le namespace de mon API -->
<SafeControl Namespace="Hexagone.WSS" TypeName="*" Safe="True" />
</SafeControls>
La deuxième classe instancie l'API et retourne des résultats formatés à la
classe de base.
*****************************************************************
protected override void RenderWebPart(HtmlTextWriter output)
{
try
{
// Ma 2ème classe
GetLibrariesData gld = new GetLibrariesData();
ArrayList alUrl = new ArrayList();
alUrl = gld.GetListOfWebSites();
foreach (string sUrl in alUrl)
output.Write(SPEncode.HtmlEncode(sUrl));
*****************************************************************
Or sur "alUrl = gld.GetListOfWebSites();", j'ai une
System.Security.SecurityException systématique qui renvoie "Erreur de
sécurité" et "_COMPlusExceptionCode -532459699". Le debuggueur ne me permet
même pas de rentrer dans GetListOfWebSites() (méthode dans laquelle j'ai
placé un point d'arrêt).

Avez-vous des idées sur ce pb ?

Merci par avance

SDA

4 réponses

Avatar
AnthonyB
Ca sent le Code Access Security ;-))
Même si votre API est signé fortement, si elle n'est pas dans le GAC, elle
est soumise au CAS.

Essayez les 2 possibilités suivantes :
- soit vous signer fortement l'assembly de votre projet et vous l'instaurez
dans le GAC
- soit dans les policies de votre site WSS vous vous mettez en trust
level="full" pour valider que le pb vient du CAS

AnthonyB

"sda" a écrit :

Bonjour,

Voici mon pb :
Mon projet WebPart Library comporte 2 classes :
**************************************************************
// La classe de base
namespace ContentAggregationWP
{
......
public class ContentAggregationWP :
Microsoft.SharePoint.WebPartPages.WebPart
{
***************************************************************
// Une deuxième classe

namespace ContentAggregationWP
{
public class GetLibrariesData
{
.......
*****************************************************************
Mon projet WebPart Library a une référence sur une API qui fournit des
méthodes d'accès à aux WebServices WSS.
Cette API a un nom fort, et est enregistrée dans mon manifest :
<SafeControls>
<!-- Le namespace de mon API -->
<SafeControl Namespace="ContentAggregationWP" TypeName="*"
Safe="True" />
<!-- Le namespace de mon API -->
<SafeControl Namespace="Hexagone.WSS" TypeName="*" Safe="True" />
</SafeControls>
La deuxième classe instancie l'API et retourne des résultats formatés à la
classe de base.
*****************************************************************
protected override void RenderWebPart(HtmlTextWriter output)
{
try
{
// Ma 2ème classe
GetLibrariesData gld = new GetLibrariesData();
ArrayList alUrl = new ArrayList();
alUrl = gld.GetListOfWebSites();
foreach (string sUrl in alUrl)
output.Write(SPEncode.HtmlEncode(sUrl));
*****************************************************************
Or sur "alUrl = gld.GetListOfWebSites();", j'ai une
System.Security.SecurityException systématique qui renvoie "Erreur de
sécurité" et "_COMPlusExceptionCode -532459699". Le debuggueur ne me permet
même pas de rentrer dans GetListOfWebSites() (méthode dans laquelle j'ai
placé un point d'arrêt).

Avez-vous des idées sur ce pb ?

Merci par avance

SDA





Avatar
EROL [MVP SPS]
Bonjour Antony,


C'est une possibilité.

voir : http://www.mysps.info

©¿©¬
-


@bientôt sur les news de SharePoint.
Bonne fin de semaine.

EROL
[MVP SharePoint Microsoft France]
*****************************************
http://www.clubsps.org
http://aspnet2.com/mvp.ashx?ErolGiraudy
http://sharepointerol.blogspot.com/
http://giraudyp.perso.cegetel.net/Visites/Livre3.htm
=============================
"sda" a écrit dans le message de news:

Bonjour,

Voici mon pb :
Mon projet WebPart Library comporte 2 classes :
**************************************************************
// La classe de base
namespace ContentAggregationWP
{
......
public class ContentAggregationWP :
Microsoft.SharePoint.WebPartPages.WebPart
{
***************************************************************
// Une deuxième classe

namespace ContentAggregationWP
{
public class GetLibrariesData
{
.......
*****************************************************************
Mon projet WebPart Library a une référence sur une API qui fournit des
méthodes d'accès à aux WebServices WSS.
Cette API a un nom fort, et est enregistrée dans mon manifest :
<SafeControls>
<!-- Le namespace de mon API -->
<SafeControl Namespace="ContentAggregationWP" TypeName="*"
Safe="True" />
<!-- Le namespace de mon API -->
<SafeControl Namespace="Hexagone.WSS" TypeName="*" Safe="True" />
</SafeControls>
La deuxième classe instancie l'API et retourne des résultats formatés à la
classe de base.
*****************************************************************
protected override void RenderWebPart(HtmlTextWriter output)
{
try
{
// Ma 2ème classe
GetLibrariesData gld = new GetLibrariesData();
ArrayList alUrl = new ArrayList();
alUrl = gld.GetListOfWebSites();
foreach (string sUrl in alUrl)
output.Write(SPEncode.HtmlEncode(sUrl));
*****************************************************************
Or sur "alUrl = gld.GetListOfWebSites();", j'ai une
System.Security.SecurityException systématique qui renvoie "Erreur de
sécurité" et "_COMPlusExceptionCode -532459699". Le debuggueur ne me
permet même pas de rentrer dans GetListOfWebSites() (méthode dans laquelle
j'ai placé un point d'arrêt).

Avez-vous des idées sur ce pb ?

Merci par avance

SDA




Avatar
Renaud COMTE [MVP]
Le soucis est ailleurs mais la CAS ne doit pas aider

Pourquoi définir des <SafeControls> pour des assemblées tiers

Que font ces assemblys ? y a t'il du COM ?
Que cherchez vous a faire ?

Trop de question en supens ....

Renaud COMTE[MVP]

"sda" a écrit :

Bonjour,

Voici mon pb :
Mon projet WebPart Library comporte 2 classes :
**************************************************************
// La classe de base
namespace ContentAggregationWP
{
......
public class ContentAggregationWP :
Microsoft.SharePoint.WebPartPages.WebPart
{
***************************************************************
// Une deuxième classe

namespace ContentAggregationWP
{
public class GetLibrariesData
{
.......
*****************************************************************
Mon projet WebPart Library a une référence sur une API qui fournit des
méthodes d'accès à aux WebServices WSS.
Cette API a un nom fort, et est enregistrée dans mon manifest :
<SafeControls>
<!-- Le namespace de mon API -->
<SafeControl Namespace="ContentAggregationWP" TypeName="*"
Safe="True" />
<!-- Le namespace de mon API -->
<SafeControl Namespace="Hexagone.WSS" TypeName="*" Safe="True" />
</SafeControls>
La deuxième classe instancie l'API et retourne des résultats formatés à la
classe de base.
*****************************************************************
protected override void RenderWebPart(HtmlTextWriter output)
{
try
{
// Ma 2ème classe
GetLibrariesData gld = new GetLibrariesData();
ArrayList alUrl = new ArrayList();
alUrl = gld.GetListOfWebSites();
foreach (string sUrl in alUrl)
output.Write(SPEncode.HtmlEncode(sUrl));
*****************************************************************
Or sur "alUrl = gld.GetListOfWebSites();", j'ai une
System.Security.SecurityException systématique qui renvoie "Erreur de
sécurité" et "_COMPlusExceptionCode -532459699". Le debuggueur ne me permet
même pas de rentrer dans GetListOfWebSites() (méthode dans laquelle j'ai
placé un point d'arrêt).

Avez-vous des idées sur ce pb ?

Merci par avance

SDA





Avatar
EROL MVP SPS
Salut,

Exacte cher Renaud
+++

--
EROL MVP SharePoint. www.mysps.info
http://aspnet2.com/mvp.ashx?ErolGiraudy
"Renaud COMTE [MVP]" a écrit dans le
message de news:
Le soucis est ailleurs mais la CAS ne doit pas aider

Pourquoi définir des <SafeControls> pour des assemblées tiers

Que font ces assemblys ? y a t'il du COM ?
Que cherchez vous a faire ?

Trop de question en supens ....

Renaud COMTE[MVP]

"sda" a écrit :

Bonjour,

Voici mon pb :
Mon projet WebPart Library comporte 2 classes :
**************************************************************
// La classe de base
namespace ContentAggregationWP
{
......
public class ContentAggregationWP :
Microsoft.SharePoint.WebPartPages.WebPart
{
***************************************************************
// Une deuxième classe

namespace ContentAggregationWP
{
public class GetLibrariesData
{
.......
*****************************************************************
Mon projet WebPart Library a une référence sur une API qui fournit des
méthodes d'accès à aux WebServices WSS.
Cette API a un nom fort, et est enregistrée dans mon manifest :
<SafeControls>
<!-- Le namespace de mon API -->
<SafeControl Namespace="ContentAggregationWP" TypeName="*"
Safe="True" />
<!-- Le namespace de mon API -->
<SafeControl Namespace="Hexagone.WSS" TypeName="*" Safe="True"
/>
</SafeControls>
La deuxième classe instancie l'API et retourne des résultats formatés à
la
classe de base.
*****************************************************************
protected override void RenderWebPart(HtmlTextWriter output)
{
try
{
// Ma 2ème classe
GetLibrariesData gld = new GetLibrariesData();
ArrayList alUrl = new ArrayList();
alUrl = gld.GetListOfWebSites();
foreach (string sUrl in alUrl)
output.Write(SPEncode.HtmlEncode(sUrl));
*****************************************************************
Or sur "alUrl = gld.GetListOfWebSites();", j'ai une
System.Security.SecurityException systématique qui renvoie "Erreur de
sécurité" et "_COMPlusExceptionCode -532459699". Le debuggueur ne me
permet
même pas de rentrer dans GetListOfWebSites() (méthode dans laquelle j'ai
placé un point d'arrêt).

Avez-vous des idées sur ce pb ?

Merci par avance

SDA