2010-10-04 37 views
2

J'étudie la sécurité d'accès au code de .NET 2.0. Le mécanisme de base du CAS est de permettre au CLR de collecter certaines preuves de l'assemblage, puis d'utiliser la preuve et la stratégie pour élaborer un jeu d'autorisations pour le code de l'assembly. Et le code de l'assembly ne peut rien faire au-delà de cet ensemble d'autorisations.Question sur la sécurité d'accès au code (CAS)

Les preuves sont utilisées pour classer certains assemblages dans certains groupes de codes, et le jeu d'autorisations est donné sur une granularité de groupe de codes.

Plusieurs types de preuves peuvent être collectées par le CLR lors de l'exécution.

Il est facile de déterminer des preuves telles que Répertoire d'application, GAC, Hash, nom fort.

Mais comment déterminer des preuves telles que Publisher, Site, Zone, URL? Où sont stockées ces données probantes? Font-ils partie des métadonnées de l'assemblée? Je ne pense pas que des éléments tels que Zone ou Site doivent faire partie des métadonnées.

Merci beaucoup.

Répondre

2

La page suivante fait le meilleur que je peux trouver d'expliquer comment ces informations sont obtenues

Le résumé est qu'une grande partie de ces informations est pas sur l'assemblée elle-même, mais à condition par l'environnement d'hébergement du CLR. Des exemples d'hôtes comprennent

  • Le navigateur
  • ASP.Net
  • Host Shell (applications normales)

Ces hôte se fournissent les informations sur le site, Zone, etc ... à la CLR pour un assemblage donné.

+0

Est-ce que CAS n'a pas été supprimé/obsolète dans .NET 4.0 parce que presque personne ne l'utilisait? –

+1

@Peter: CAS est encore assez vivant dans .NET 4.0. Cependant, le CLR lui-même n'impose plus de politique CAS. Au lieu de cela, la stratégie CAS est imposée uniquement par des hôtes tels que ASP.NET et IE. Pour plus de détails, voir http://blogs.msdn.com/b/shawnfa/archive/2010/02/24/so-is-cas-dead-in-net-4-or-what.aspx. –

+0

@Nicole: +1 pour la réponse. Tnx –