IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

[WebForms][2.0] Refuser accès fichiers aux utilisateurs non autorisés


Sujet :

Dotnet

  1. #1
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut [WebForms][2.0] Refuser accès fichiers aux utilisateurs non autorisés
    Bonjour,

    J'ai des fichiers (PDF) et j'aimerais permettre leur téléchargement (download) uniquement aux utilisateurs autorisés (authentifiés avec un rôle précis), mais je n'y arrive pas.
    Ces fichiers sont dans un sous-répertoire Ressources du site. J'ai mis un web.config comme pour protéger les aspx (ça marche) mais ça ne marche pas pour les PDF.

    En effet, lorsqu'on fait en anonyme http://localhost/site/Ressources/Test.pdf,
    hé ben ça ouvre le fichier !
    Est-il possible d'empêcher cela ?

    Merci beaucoup pour votre aide.

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Peux tu poster ton web.config (en tout cas la partie authentification et authorization)?

  3. #3
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0"?>
    <!-- 
        Note: As an alternative to hand editing this file you can use the 
        web admin tool to configure settings for your application. Use
        the Website->Asp.Net Configuration option in Visual Studio.
        A full list of settings and comments can be found in 
        machine.config.comments usually located in 
        \Windows\Microsoft.Net\Framework\v2.x\Config 
    -->
    <configuration>
      <system.web>
        <authorization>
          <allow roles="Visiteur"/>
          <deny users="*"/>
        </authorization>
      </system.web>
    </configuration>
    Voila, c'est l'intégralité du web.config. Comme je le disais, ça marche bien pour un aspx : ça renvoie à la page de login définie dans le web.config de l'application.
    Concernant les ressources comme un fichier pdf, ou une image, ben ça marche pas.
    Mais je viens d'avoir 2 idées rentrant ce soir :
    - Mettre les ressources dans App_Data, à essayer demain
    - Mettre dans un répertoire externe, sur le serveur, n'appartenant pas à l'arborescence du site. Et le faire télécharger via une page aspx

    Si tu as d'autres suggestions, je suis preneur
    A+

  4. #4
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    tu peux gérer les accès par répertoire.. pour ça tu dois avoir dans chaque répertoire un fichier web.config qui contient les accès...

  5. #5
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Ca marche pas pour les fichiers ressources tels que les pdf, tu peux qd meme les ouvrir en tapant directement l'url. C'est pas comme les aspx.
    En fait, on m'a filé une idée : enlever les droits NTFS (dans IIS) à IUSR (ne pas autoriser l'accès anonyme) et obliger le téléchargement via une page aspx.

  6. #6
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Citation Envoyé par quanou
    Ca marche pas pour les fichiers ressources tels que les pdf, tu peux qd meme les ouvrir en tapant directement l'url. C'est pas comme les aspx.
    En fait, on m'a filé une idée : enlever les droits NTFS (dans IIS) à IUSR (ne pas autoriser l'accès anonyme) et obliger le téléchargement via une page aspx.
    C'est bizarre ca... Ca devrait aller avec le web.config dans le répertoire concerné...

  7. #7
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Nope

    Bon, j'ai opté pour :
    Je mets les pdf dans un sous-répertoire virtuel du site (au sens IIS, donc physiquement, c'est sur une autre partition du serveur) et j'enlève l'accès anonyme à ce répertoire :
    Si on tente de taper l'url du fichier pdf directement, on a :
    Vous n'êtes pas autorisé à afficher cette page
    On passe par un aspx pour télécharger le fichier, code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                HttpContext.Current.Response.WriteFile(path);
                HttpContext.Current.Response.End();
    Et il faut être authentifié pour le faire.

  8. #8
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Access is denied.
    Description: An error occurred while accessing the resources required to serve this request. The server may not be configured for access to the requested URL.

    Error message 401.2.: Unauthorized: Logon failed due to server configuration. Verify that you have permission to view this directory or page based on the credentials you supplied and the authentication methods enabled on the Web server. Contact the Web server's administrator for additional assistance.
    Ton web.config est ou?

  9. #9
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    Ecoute, tu me mets le doute là.

    Ben, j'ai mis le fichier web.config dans le répertoire contenant les pdf. J'ai fait l'essai aussi dans le répertoire au niveau au dessus. Ben, toujours pas.
    On doit avoir une différence de config qq part.

    Sinon, rien à voir mais si je peux me permettre une suggestion : je ne pense pas qu'il y ait de FAQ concernant le déploiement d'une appli Web asp.net 2 avec IIS sur XP ou sur W2K3 (sauf un post http://www.developpez.net/forums/sho....php?t=141789). Et il y a plein de questions concernant ces problèmes.

  10. #10
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Citation Envoyé par quanou
    Ecoute, tu me mets le doute là.
    Rassures toi, en allant encore plus loin dans les tests j'ai remarqué que sous Casini c'était ok et pas sous IIS ce que je te dis... Pourquoi? Euh... En tant cas, je vais regarder cela

    Citation Envoyé par quanou
    Ben, j'ai mis le fichier web.config dans le répertoire contenant les pdf. J'ai fait l'essai aussi dans le répertoire au niveau au dessus. Ben, toujours pas.
    On doit avoir une différence de config qq part.

    Sinon, rien à voir mais si je peux me permettre une suggestion : je ne pense pas qu'il y ait de FAQ concernant le déploiement d'une appli Web asp.net 2 avec IIS sur XP ou sur W2K3 (sauf un post http://www.developpez.net/forums/sho....php?t=141789). Et il y a plein de questions concernant ces problèmes.
    Pour le déploiement, c'est effectivement dans les priorités de regarder cela afin d'en faire des questions pour la FAQ et éventuellement un tuto.

  11. #11
    Membre actif Avatar de quanou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 311
    Points : 247
    Points
    247
    Par défaut
    OK, c'est plus "rassurant"
    Merci pour tes réponses en tous cas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Typo3] Connexion Utilisateurs accès qu'aux fichiers
    Par melodyambre dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 16/01/2015, 12h09
  2. plugin wordpress accès restreint aux utilisateurs
    Par zara5 dans le forum WordPress
    Réponses: 2
    Dernier message: 02/10/2014, 12h30
  3. [SP-2007] Accès impossible aux utilisateur
    Par Mellouli dans le forum SharePoint
    Réponses: 5
    Dernier message: 25/05/2009, 12h01
  4. Réponses: 18
    Dernier message: 13/04/2007, 12h48
  5. Réponses: 7
    Dernier message: 15/12/2006, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo