2009-02-03 11 views
5

Je voulais publier sur ce site depuis un moment, mais je trouve toujours l'information dont j'ai besoin; jusqu'à maintenant bien sûr! J'apprécierais toute aide que vous pourriez être en mesure d'offrir en ce qui concerne la sécurité d'accès au code, et en particulier dll sur un partage réseau.Faire confiance à un ensemble situé sur un partage réseau

Je suis à la recherche d'un moyen de charger dynamiquement des assemblages pour la réflexion, l'instanciation et l'invocation à partir d'un partage réseau inconnu au moment de l'exécution.

J'ai cherché sur les forums et je comprends qu'à partir de .NET 3.5 SP1, les assemblages s'exécuteront sur un partage réseau en toute confiance. Cela semble être ciblé sur les fichiers .exe et pas .dll.

Je comprends pourquoi cela se produit, quelle est l'approbation du code et comment fonctionne CasPol et l'outil '.NET Framework 2.0 Configuration'. Je suis capable de modifier les stratégies afin d'obtenir une confiance totale dans un environnement de test pour un partage spécifique, bien que je ne connaisse pas le partage réseau exact après le déploiement.

Je ne peux pas utiliser l'une des conditions d'adhésion intégrées, telles que les certificats fortement signés, l'URL, les certificats et autres. Je comprends que je peux implémenter un type de condition personnalisé en implémentant l'interface IMembershipCondition et en sautant à travers quelques cerceaux. Basé sur les informations ci-dessus je voudrais implémenter une condition d'adhésion personnalisée (en C#), cependant cela semble être une tâche plutôt impliquante, et il ne semble pas y avoir beaucoup d'informations disponibles auprès de Microsoft ou sur le site web de Microsoft. l'Internet. Actuellement, je ne comprends pas comment vous mettez 'Evidence' dans un assembly afin qu'il puisse être identifié, et je ne comprends pas comment cette preuve est exposée lors de l'évaluation de la politique et comment l'écrire par programmation. Je voudrais implémenter par exemple, une politique qui identifie tous les assemblys qui ont un attribut assembly de type AssemblyCompany avec une valeur de 'My Company', c'est-à-dire [assembly: AssemblyCompany ("My Company")]. Ce n'est pas exactement ce que j'ai l'intention de mettre en œuvre, mais cela m'aiderait à comprendre comment fonctionne le mécanisme. Je ne connaissais rien à la sécurité du code avant d'aborder cette demande de produit, et comme vous pouvez probablement le déduire, j'ai beaucoup travaillé et trouvé autant d'informations que possible sur le sujet, mais je suis maintenant coincé . Avez-vous mis en place votre propre adaptateur IMembershipCondition? Avez-vous des liens vers un guide complet sur la façon de procéder? Pouvez-vous fournir un exemple de travail?

Merci d'avoir lu mon (long) post, et s'il vous plaît aidez-moi! : D

Répondre

2

Son appelé CAS, Code acces security et force tous les lecteurs réseau non fiables à être traités comme du code réseau non fiable.

Le code local a la confiance totale, le code réseau a une confiance partielle et le code Internet n'a pas confiance. C'est un modèle de sécurité .Net seulement. Vous avez le choix entre désigner le lecteur réseau comme un lecteur «de confiance» en lui accordant tous les droits (recherchez le lecteur réseau fulltrust caspol.exe) ou copier le fichier .exe sur un lecteur local.

Ce lien devrait vous aider: https://julianscorner.com/wiki/programming/caspol_network_share

Ou Caspol.exe -m -pp off 1.2 fichier -AG -url: ///// serveur/share/* FullTrust sur la ligne de commande.

Questions connexes