2010-07-26 5 views
0

j'ai un AdminController protégé par un attribut Autorisez comme celui-ciASP.MVC: web.config et Authorize attribut

[Authorize(Roles = "Admin")] 
public class AdminController : BaseController 
{ 
..... 
} 

Et je dans mon web.config cette section de l'emplacement de sécurité

<location path="admin"> 
    <system.webServer> 
     <security> 
      <authorization> 
      <remove users="*" roles="" verbs="" /> 
      <add accessType="Allow" roles="Admin" /> 
      </authorization> 
     </security> 
    </system.webServer> 
</location> 

Si je supprime la section de configuration web, tout fonctionne parfaitement et seul Admin peut accéder aux actions Admin Avec la section en, je suis toujours redirigé vers ma page de connexion

Cependant, je dois la section web.config parce que j'ai des fichiers statiques sur le dossier Admin que je veux être protégé et accessible uniquement par rôle d'administrateur

Quel est le problème avec mon web.config Merci

+0

à moins qu'une nouvelle syntaxe est sorti et je ne suis pas au courant, l'étiquette correcte est au lieu de ... – GR7

Répondre

1

plus facile façon est d'ajouter un nouveau fichier de configuration Web à la section d'administration

<?xml version="1.0"?> 
<configuration> 
    <system.web>  
     <authorization> 
      <deny users="*" /> 
      <allow roles="Admin" /> 
     </authorization> 
    </system.web> 
</configuration> 
Questions connexes