2010-01-05 5 views
1

J'ai un composant WebPart et la DLL est déployée dans la corbeille de l'application Web. J'ai créé une règle personnalisée et l'ai déployée (wss_custom). Juste pour le plaisir de tester, j'ai donné un accès illimité à tout ce que je connaissais IP (environ 10). La plupart des IPermissions que j'ai eues proviennent de PermCalc.exe. Pourtant, je reçois l'erreur suivante générée par la partie Web:Stratégie Exception SharePoint

System.Security.Policy.PolicyException

Le problème est que je ne suis pas en mesure de déterminer à quelle autorisation est nécessaire de donner dans la mesure CAs fichier.

Appréciez vos suggestions.

Merci

Répondre

1

Mon conseil général pour trouver les autorisations CAS dont vous avez besoin sont:

Donnez votre dll SecurityPermission (ControlEvidence = true, ControlPolicy = true) (et de la cause aussi exécution = true et ce que vous peut-être besoin)

Intercepter l'exception et la sortie Exception.ToString() non seulement Exception.Message

Ensuite, vous devriez obtenir une liste précise de la première autorisation qui a échoué, ajouter que et essayez à nouveau.

+0

Salut Per, Merci pour votre réponse. Mais je suppose que la dll l'exception se produit lorsque la DLL est chargée et donc l'exception ne peut pas être interceptée dans le code. Peut-être que je n'ai pas entièrement compris votre réponse. Vous demander de fournir plus d'informations. Dans mon cas, la partie Web dll ne demande aucune autorisation (dans les informations d'assemblage) et tout est accordé via un fichier personnalisé – Faiz

+0

Salut Taha, généralement l'exception ne se produit pas jusqu'à ce que la méthode nécessitant la permission est appelé. Donc, assurez-vous que les méthodes surchargées CreateChildControls, RenderContent, ... que vous utilisez ne contiennent qu'une erreur de sortie try catch et un appel à une méthode d'assistance faisant les choses réelles et vous devriez pouvoir obtenir les traces dont vous avez besoin –

+0

Merci Perk. Votre premier commentaire a aidé dans une certaine mesure. Cependant, je voulais juste ajouter que nous devons définir la confiance totale dans le web.config pour attraper les autorisations exactes requises et une fois créé avec succès le cas, faire une entrée pour le niveau de confiance personnalisé dans le web .config – Faiz

0

Essayez d'activer la journalisation du chargeur de montage .net et voir ce qui se passe avec l'outil « de fuslogvw.exe » (voir http://msdn.microsoft.com/en-us/library/e74a18c4(VS.80).aspx pour plus de détails)

+0

Salut, Merci. id a exécuté l'outil fuslogvw.exe et la dernière instruction du journal est Assembly est chargé dans le contexte de chargement par défaut. – Faiz

Questions connexes