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

Struts 1 Java Discussion :

Sécurité d'accès sur les fichiers.


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Sécurité d'accès sur les fichiers.
    Bonjour ,

    J'ai à protèger certains fichier ( .pdf , image ..etc.. ) qui seront dans un ou plusieurs dossier de mon site web .

    Actuellement mes pages .jsp sont protèger par la sécurité et la validation de struts , par contre pour des pages qui ne requièrent pas d'appel d'actions disont que la personne pointe directement sur mon répertoire /images/photo.jpg , il n'y à rien qui l'empêcher de voir le contenu. Même chose pour tout mes fichier n'ayant pas à appeler des .class donc qui ne passent pas par la validation de session // rôle.

    On ma dit que c'étais possible de définitir une validation sur des dossiers , je sait qu'en php il existe les .htaccess mais il paraît qu'il serait possible en jsp aussi d'établir une sécurité sur des dossiers , on ma vaguement parlé d'OID et de LDAP mais c'étais très vague. Quelqu'un aurait une petite idée , une petite piste qui pourrait m'aider à m'orienter dans ma rechercher d'une solution ? J'ai chercher sur votre site // FAQ et je n'y ait rien trouvé traitant de ce cas particulier !

    En vous remerciant ,

    Jonathan

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Piste...
    Je croit avoir une piste... web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <security-constraint>
       <web-resource-collection>
       <web-resource-name>Ressource protégée</web-resource-name>
        <url-pattern>/fichier/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
       </web-resource-collection>
       <auth-constraint>
         <role-name>admin</role-name>
       </auth-constraint>		
    </security-constraint>
    Sa semble fonctionner pour empêcher l'accès car lorsque j'essaie d'y accèder j'ai droit à un bel erreur HTTP 403, le hic c'est que lorsque je suis sensé pouvoir y accèder , j'ai quand même le HTTP 403 !
    J'ai fait un <%= session.getAttribute("role") %> et j'ai bel et bien le rôle admin.

    Mon erreur pourrait être ailleurs ?

    Merci encore.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    pour savoir si t'as le role admin, la commande c'est

    request.isUserInRole("admin");

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Ah d'accord ,

    Finalement je n'ai aucun des rôles que je croyais avoir pourtant je dois être administrateur pour pouvoir accèder au site .

    <set-property property="role" value="Administrateur"/>

    Es-ce qu'il y a moyen de savoir quel role j'ai ?

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    heu, a mon avis tu confond les roles au sens ou l'entends tomcat, c'est à dire des informations déterminée par le realm utilisé pour l'authentification, et une propriété "role" que tu défini dans la session (et qui a rien à voir).

    Quel système utilise-tu pour l'authentification?

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Honnêtement c'est une excellente question , mais c'est vrai que les rôles sont défini dans une class d'authentification qui valide si l'user//mdp sont bons , crée un attribut session de type role contenant un role administrateur ou utilisateur.

    De plus , je ne suis pas sous tomcat mais sous le serveur d'application d'Oracle ( Oracle OAS ) et je n'ai pas développer ce site c'est des consultants donc je ne peux que supposer qu'ils gère les roles dans cette class car rien n'indique le contraire....

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    J'arrive a restrainde l'accès au fichier donc si sa fonctionne sous struts avec l'exemple du code sous Tomcat , je suppose que le principe reste le même .

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Finalement je confirme que je ne suis pas authentifier , "l'authentification" et la gestion des rôles se fait via StrutsPermissionMapping et des attribute mis en request , bref je suis dans le pétrin , ce seras très complexe pour moi d'utiliser <security-constraint> dans de tel condition .....

    <%=request.isUserInRole("admin")%>
    false
    <%=request.getUserPrincipal()%>
    null
    <%=request.getAuthType()%>
    null
    <%=request.getSession()%>
    Fonctionne !
    <%=request.getRemoteUser()%>
    null

    Enfin bref , je suis très ouvert à toute suggestions et moi je continue ma rechercher d'une solution viable.

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    des consultants? ... heu non, je ne dirais rien :p Tu va devoir gérer toi même les droits d'accès à la main, le plus simple est de faire çà dans un servlet filter que tu mappe sur la ressource que tu veux protéger.

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Je ne comprend pas le lien avec les consultants... et encore moins ce qu'est un servlet filter.. mais bon , je retourne donc sur google avec servlet filter comme mot de recherche...

    Mais de toute façon , le client veux que les accès au fichier et au site soit gérer par le LDAP donc je ne croit pas que le servlet filter soit ma solution ...

    Je vais donc devoir installé OID et apprendre à utiliser tout sa ... que de joie ....

    De plus , ce n'est clairement pas une .class que je doit employer car comme mentionné dans mes précedents postes , mes pages et mes .class sont protègé déjà , c'est l'accès aux autres fichier le problème , comme des pdf , des images etc... tout ce qui peux être vu sans avoir à appeler une page...

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    le servlet filter filtre toutes les requetes sur lequel il est mappé, ce qui permet d'interrompre éventuellement la requete si l'utilisateur n'est pas autorisé.

  12. #12
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Je ne comprend toujours pas comment il va empêcher un utilisateur n'ayant pas un rôle précis d'aller sur monsite.com/dossier/confidentiel.pdf.

    Mais bon , de toute façon mon mandat à été changé pour une utilisation d'OID et de LDAP pour l'authentification !

  13. #13
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par Jonathan.Harvey Voir le message
    Je ne comprend toujours pas comment il va empêcher un utilisateur n'ayant pas un rôle précis d'aller sur monsite.com/dossier/confidentiel.pdf.
    Ben tu code ce que tu veux dans ton filter comme règles.

Discussions similaires

  1. acces sur les fichiers
    Par offrerem dans le forum z/OS
    Réponses: 1
    Dernier message: 29/05/2008, 00h53
  2. Réponses: 4
    Dernier message: 05/01/2007, 18h06
  3. Droits d'accès sur les fichiers
    Par billbocquet dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 11/01/2006, 11h24
  4. [C#] Authentification sur les fichiers Pdf
    Par ensisoft dans le forum ASP.NET
    Réponses: 14
    Dernier message: 04/05/2004, 12h10
  5. Réponses: 6
    Dernier message: 28/04/2004, 10h41

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