Question

  

voir aussi Is & # 8220; Accès au code Sécurité & # 8221; de   toute utilisation réelle?

Je souhaite obtenir d'autres avis à ce sujet ...

J'aime l'idée de Code Access Security pour les applications de bureau. Mais au cours de la vie de .NET, je dois admettre que je n’ai jamais eu une situation où CAS a effectivement bloqué quelque chose à mon avantage.

Cependant, j’ai souvent eu plusieurs cas où quelque chose d'aussi simple que de partager une application .NET rapide sur un lecteur mappé devenait un cauchemar d'accès au code d'entreprise. Le fait de forcer caspol.exe à créer des règles de chemin d'accès sécurisé et de ne pas savoir clairement pourquoi une erreur a été commise donne à penser que CAS ajoute à la frustration du processus de développement et de déploiement par rapport à la sécurité.

J'aimerais entendre certaines situations où la SAE a réellement apporté plus d'aide que des blessures, ou si d'autres personnes sont frustrées par sa mise en œuvre et ses défauts.

Était-ce utile?

La solution

L’équipe .NET a lui-même conclu que la sécurité des accès aux assemblages est retravaillée pour .NET # 4. Jetez un coup d'œil à ce blog pour plus d'informations: blog sur la sécurité .NET

Autres conseils

ici, ici! J'ai partagé beaucoup des mêmes frustrations. Et bien sûr, la documentation exagérée et la complexité excessive encouragent essentiellement les développeurs à la contourner ou à utiliser des règles trop générales. La sécurité sera toujours difficile pour quiconque, mais il est vraiment difficile de faire bien les SAE.

J'ai eu affaire à une SAE, mais ce n'était pas trop difficile, car je n'avais à la déployer que sur une douzaine de postes de travail. Vous pouvez également définir les paramètres requis via la stratégie de groupe.

Mais pour répondre à votre question, non, je ne pense pas que cela ait jamais aidé.

Toutefois, à partir de .NET 3.5, vous pouvez exécuter des applications sur un partage réseau sans serveur CAS.

Après de nombreuses recherches, je suis tombé par hasard sur cette entrée de blog de l'équipe CLR qui confirme non seulement que CAS disparaît dans .NET 4, mais donne également un excellent guide sur ce qui va se briser et sur la façon de migrer vers le nouveau modèle de bac à sable: Nouveau modèle de sécurité: passer à un meilleur bac à sable . De l'article:

  

Dans les versions de .Net Framework antérieures   v4, nous avions beaucoup de façons de restreindre la   les autorisations d'un assemblage ou même   certain chemin de code dans l'assemblage:

     
      
  1. Modificateurs d'empilement: Deny, PermitOnly

  2.   
  3. Requêtes au niveau de l'assembly: RequestOptional, RequestRefuse,   RequestMinimum

  4.   
  5. Modifications de stratégie: caspol et AppDomain.SetPolicyLevel

  6.   
  7. Chargement d'un assemblage avec une zone autre que MonOrdinateur

  8.   
     

Dans le passé, ces API étaient un outil   source de confusion pour l'hôte et   auteurs d'application. Dans .Net Framework   4, ces méthodes de restriction   les autorisations sont marquées obsolètes et nous   espérons les supprimer à un moment donné   avenir.

Le plus troublant est le fait que toutes ces méthodes déconseillées de création d’un bac à sable vont commencer à générer un NotSupportedException. Ceci est exceptionnellement précaire pour toutes les âmes pauvres (comme moi) qui, pour quelque raison que ce soit, sont tenues de mettre en œuvre les SAA dans leur organisation à ce moment-là. Vous avez été prévenu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top