J'ai un sentiment d'intestin fort que l'utilisation de SharePoint RunwithElevatedpriviluesges CODE> devrait être évitée comme la peste, mais doit convaincre d'autres pour savoir exactement pourquoi. Voici ce que j'ai. P>
4 Réponses :
rwep, comme tout le reste, avoir des avantages et des inconvénients. P>
Si vous êtes préoccupé par l'utilisateur final exécutant RWEP, vous avez probablement un problème plus gros, car ce code a déjà été installé sur GAC. P>
Parfois, il vous suffit de vous en tenir à cela: envisager un utilisateur qui n'a pas de droits d'administrateur, exécutant un flux de travail de document. Une fois cet utilisateur approuve (ou rejeter, peu importe), votre moteur de flux de travail doit être capable de redéfinir ce privilège Splistitem. P>
Pourrait être une autre bonne raison d'éviter des privilées à travers. Sécurité d'accès au code. Ruben, pourriez-vous confirmer la source de l'exigence GAC?
Je l'utilise et trouvez-le comme une fonctionnalité très utile. À mon avis, je choisis de laisser l'utilisateur exécuter mon code et de faire ce code que l'utilisateur ne pouvait normalement pas faire. Vous pouvez verrouiller quelque chose et laisser l'utilisateur l'accéder de manière très contrôlée. P>
"Faire des choses" est très large. Pour accéder aux objets SharePoint, il convient de l'éviter. Suivez plutôt la suggestion de Dahlbyk d'une impersonnation SPSITE supprime les complexités de RunwithelevatedprivItiles En savoir plus à: Solution .NET / 2009/01 / 06 / Elegant-SpSite-Elevation
Un exemple: il est important d'appeler ValidateFormDigest avant d'utiliser rwep sur Demandes malveillantes dans les pages d'application . p>
2) Les objets SPWEB et SPSITE doivent être créés dans le contexte de RWEP. strong> Ceci est facile pour les développeurs novices à oublier, menant à une grande frustration. P>
Cette restriction signifie également que tous les travaux et tous les objets créés par ces objets doivent être utilisés et terminés avec la fin du délégué du RWEP. C'est une autre erreur commune. P>
keith dahlby a écrit Méthodes d'extension pour contourner ces problèmes, donnant un code plus robuste et lisible. P>
"Une bonne indication du code sent" - j'aime ça. Trop de mauvais nez ne fonctionnent pas pour ça aussi. ;)
raisons d'élever tomber en deux catégories: p>
bonne réponse. Pourriez-vous élaborer pourquoi son emploi inutile dans des emplois de minuterie, etc.?
Les applications Web SharePoint utilisent l'impersonnation pour exécuter le code car l'utilisateur qui est signé - RWEP désactive temporairement cette impersonnation sur un thread. Si le code ne s'exécute pas avec l'impersonnation pour commencer, comme dans une application de minuterie ou de console, l'utilisateur de l'utilisateur de thread et l'utilisateur du processus ("utilisateur élevé" de RWEP) sont les mêmes.