Je travaille sur une application ASP.NET 3.5 exécutée sur IIS7 (Server '08) en utilisant l'authentification MS Forms en stock et SqlRolesProvider. (J'ai utilisé l'outil aspnet_regsql pour générer les tableaux).Mise en œuvre de la sécurité des rôles ASP.NET 3.5 IIS7
Nous avons trois rôles: SysAdmins, AppAdmins et Utilisateurs. Tous les utilisateurs sont dans Utilisateurs et un utilisateur peut être Administrateur système, Administrateur d'application ou les deux.
Je n'arrive pas à obtenir un répertoire Admin pour bloquer l'accès aux utilisateurs qui ne se trouvent pas dans SysAdmins et AppAdmins. Soit il laisse entrer tous les utilisateurs connectés, soit personne.
Voici les bits correspondants de ma configuration actuelle:
<configuration>
...
<system.web>
<authentication mode="Forms">
<forms loginUrl="/client/security/login.aspx" timeout="480" />
</authentication>
<authorization>
</authorization>
<roleManager defaultProvider="SqlRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName="EquityTouch.Roles" cookieProtection="All" cookieSlidingExpiration="true" cookieTimeout="60">
<providers>
<clear />
<add name="SqlRoleProvider" applicationName="EquityTouch" connectionStringName="SQLProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
...
</system.web>
<system.webServer>
<security>
<authorization>
<add accessType="Deny" users="?" />
</authorization>
</security>
...
</system.webServer>
<location path="admin">
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs=""/>
<add accessType="Allow" roles="SysAdmins,AppAdmins" />
</authorization>
</security>
</system.webServer>
<system.web>
<authorization>
<deny users="*"/>
<allow roles="SysAdmins,AppAdmins"/>
</authorization>
</system.web>
</location>
</configuration>
Je crois que cette configuration de tout le monde actuellement blocs. J'ai fait des configurations similaires qui ne bloquent personne.
Je pense que le problème réside dans l'utilisation des sections system.web et system.webserver. Toute aide pour que cette configuration fonctionne correctement serait grandement appréciée.
MISE À JOUR
Retrait de la <system.webServer> section de l'emplacement < élément > rend les pages .aspx dans ce dossier correctement retour! Malheureusement, les fichiers .js dans ce dossier sont toujours bloqués à tous les utilisateurs ... Idéalement, je voudrais verrouiller les fichiers .js ainsi que des yeux non privilégiés. Donc, je cherche encore de l'aide.
Ce problème est le même: http://stackoverflow.com/questions/991045/asp-net-authentication-with-roles-in-iis7-integrated-mode-for-static-content – Toby