2010-02-25 8 views
0

La page maître de mon site utilise un contrôle qui lit les données d'un partage réseau. Pour que cela fonctionne sur toutes les pages, je dois activer l'usurpation d'identité pour l'ensemble du site. Mais ce que je veux faire est de l'activer uniquement pour les pages qui lisent/écrivent réellement sur le partage. Exemple:Utilisation de pages maîtres avec emprunt d'identité sélectif

<location path="SystemAdmin"> 
    <system.web> 
    <identity impersonate="true" password="abcdefgh" userName="MYDOMAIN\Administrator" /> 
    <authorization> 
    <allow roles="Admin" /> 
    <deny users="*" /> 
    </authorization> 
</system.web></location> 

Si c'est le cas, mon contrôle de page maître ne fonctionne que sur les pages d'administration. Kinda perplexe ici ...

+0

Impossible vous déplacer cette section system.web dans votre dossier SystemAdmin? Sinon, il serait logique d'utiliser l'authentification DS et de garantir que les utilisateurs administrateurs ont accès au partage réseau. – Lazarus

+0

Oui, mais cela ne résoudrait pas le problème. Ensuite, je devrais toujours utiliser l'emprunt d'identité dans le web.config principal pour m'assurer que le contrôle fonctionne dans les pages non-admin (il est sur chaque page depuis qu'il est dans la page maître) –

Répondre

0

U peut usurper l'identité en utilisant le code C# sur le code derrière ou vous pouvez écrire service n appelez cela. Si ce n'est pas vrai temps U peut mettre dans la mémoire locale r cache.

0

Ou vous pouvez utiliser un emplacement seulement pour une page spécifi:

0

Ok,

J'utilise une classe personnalisée pour usurper l'identité de l'administrateur uniquement lorsque la page maître code-behind lit les données du partage réseau. Voir:

File.Exists returning false from a network share

Je suis satisfait de cette solution, mais si quelqu'un a des solutions de génie que je serais heureux de les entendre. Je ne suis pas satisfait de stocker le mot de passe administrateur dans web.config; Alors peut-être que quelqu'un a une solution pour ça aussi?

Merci

0

Sur une note plus simple. Pourquoi ne pas utiliser deux pages maîtres. Un avec cette fonctionnalité et l'autre sans. De cette façon, vous pouvez utiliser la page maître qui nécessite des usurpations d'identité dans des pages spécifiques et l'autre qui n'a pas besoin d'obtenir des informations de la ressource partagée.

Espérons que cela aide.

Merci, Raja

+0

Toutes mes pages ont besoin d'obtenir des informations de la ressource partagée, c'est pourquoi je ne veux pas mettre l'usurpation d'identité sur les pages publiques. –