Je travaille sur une application web qui a plusieurs dossiers et ses pages dans le projet web. Il y a aussi un web.config qui contient tous les balisages traditionnels. J'ai eu besoin de créer un autre dossier appelé "customerportal", dans ce dossier j'ai créé 3 pages, customerlogin.aspx
, customerdefault.aspx
y customerhelp.aspx
. J'ai également ajouté dans ce dossier 3 dossiers, images, css et scripts.
Maintenant, quand je navigue dans ce dossier, je dis http://mysite.com/customerportal/customerlogin.aspx
il fonctionne bien. J'ai ajouté un web.config
parce que maintenant je dois restreindre ce dossier aux seuls rôles de client et de même je dois restreindre l'application principale (parent) au rôle de client. Ainsi, aucun client ne peut accéder au portail client et aucun utilisateur du portail client ne peut accéder aux pages de l'application principale. J'ai donc ajouté le balisage qui restreint les rôles dans l'application enfant. web.config.
cela n'a pas fonctionné car il m'a dit que
Parser Error Message: It is an error to use a section registered as
allowDefinition='MachineToApplication' beyond application level.
This error can be caused by a virtual directory not being
configured as an application in IIS.
J'ai donc converti le dossier en un répertoire virtuel, puis en une application dans l'iis. Ensuite, l'erreur a disparu, mais j'ai rencontré d'autres problèmes comme des choses de la principale web.config
étant transmis à l'enfant web.config
. Alors j'ai commencé à enquêter et j'ai vu beaucoup de réponses comme :
placer un <location path="." inheritInChildApplications="false">
avant le <system.web>
J'ai essayé mais j'obtiens une erreur dans la section <membership>
étiquette. L'adhésion se fait sur une base de données aspmembership différente, donc l'enfant a une chaîne de connexion différente, etc. Mais je suis incapable de faire quelque chose comme
<membership>
<clear />
ou un <membership> <remove name=..>
C'est comme si l'adhésion était toujours héritée d'une manière ou d'une autre. Quelle est la meilleure façon de résoudre ce problème de web.config enfant ? quelle est la meilleure pratique pour faire ce genre de configuration où le dossier enfant a besoin de son propre web.config ? C'est la première fois que je fais cela.