Une base de données MDB n'est qu'un autre fichier sur le disque dur, elle rencontrera donc les mêmes problèmes d'autorisation d'accès aux fichiers que les autres fichiers. La question signifie que pour lire (et écrire, comme vous le verrez plus loin dans ce livre) un fichier de base de données, l'application exécutée dans la page doit disposer des autorisations appropriées pour lire (et écrire) dans Windows (écrire) pour le fichier.
La raison pour laquelle les pages des exemples jusqu'à présent "fonctionnent" est que vous utilisez le serveur Web VWD, un programme léger qui s'exécute sous l'identité de l'utilisateur exécutant VWD. Autrement dit, le serveur Web VWD s'exécute pour vous et vous avez été autorisé à lire et à écrire le fichier MDB de la connexion à la page.
Cependant, lors de l'exécution de la page sous IIS, la situation est un peu plus compliquée. À ce stade, la page ASP.NET s'exécute sous l'identité d'un compte utilisateur avec des restrictions d'autorisation spécifiques. Sous IIS 5.1, ce compte est « ASPNET ». Sous IIS 6.0 ou version ultérieure, ce compte est « Service réseau » et appartient à un groupe d'utilisateurs Windows appelé IIS_WPG (« groupe de processus de travail »). Afin d'utiliser une base de données Access sous IIS, ces comptes doivent disposer d'une autorisation de lecture et, le cas échéant, d'une autorisation d'écriture sur le répertoire contenant le fichier MDB.
Pour vous aider à créer ces autorisations, VWD prendra des mesures supplémentaires et accordera automatiquement cette autorisation au compte ASPNET ou Network Service lorsque la base de données se trouve dans le sous-répertoire App_Data sous le répertoire racine de l'application. Si vous utilisez VWD pour développer des pages sur votre ordinateur, ce répertoire particulier recevra toujours les autorisations appropriées. Le répertoire App_Data présente des avantages supplémentaires, tels que le fait d'empêcher les fichiers qu'il contient de répondre au navigateur Web demandeur. Cela signifie qu'en plaçant les fichiers MDB dans le répertoire App_Data local de l'application, vous pouvez protéger ces fichiers contre tout téléchargement accidentel ou intentionnel par les clients de l'application. Par conséquent, nous vous recommandons fortement d'enregistrer le fichier MDB dans le répertoire App_Data.
Si vous devez enregistrer le fichier MDB ailleurs ou si vous devez spécifier manuellement les autorisations pour le répertoire de la base de données (par exemple, si vous travaillez sur un serveur Web distant), vous pouvez utiliser Windows pour configurer les autorisations pour ASP.NET et/ou le réseau. Compte de services .
Si vous devez définir manuellement l'autorisation, veuillez suivre les étapes ci-dessous :
(1) Utilisez l'Explorateur Windows pour parcourir le dossier où se trouve le fichier MDB.
(2) Cliquez avec le bouton droit sur le répertoire et sélectionnez Propriétés.
(3) Sélectionnez l'onglet Sécurité et cliquez sur le bouton Ajouter.
(4) Ajoutez un compte ASP.NET local (IIS 5.1) ou un groupe IIS_WPG (IIS 6).
(5) Cliquez sur OK ; puis appliquez les autorisations appropriées à ce répertoire.
Pour plus d'informations, consultez le livre blanc intitulé « Exécution d'ASP.NET 1.1 et IIS 6.0 », disponible sur le site Web ASP.NET : http://www.asp.net/faq/AspNetAndIIS6.aspx Ce livre blanc.