Autorisations d'accès dynamiques

Autorisations d'accès dynamiques - C#/.NET managed - Programmation

Marsh Posté le 21-07-2009 à 16:26:23    

Bonjour à tous,
 
Je suis développeur chez un distributeur de pièces mécaniques, sur un projet qui doit permettre de fournir certains services à nos clients.
Un de ces services est de leur permettre de télécharger un catalogue d'articles (XML). Le catalogue total comrpessé fait environ 1,5 Mo (LZMA)
Ce catalogue a été subdivisé en différentes gammes, sachant que certains clients n'ont accès qu'à telle ou telle gamme.
Je cherche donc une solution technique :
-> pour héberger mes fichiers de catalogue (FTP, SFTP, etc..)
-> autoriser tel ou tel client à accéder ou non à la ressource.
 
Donc mes questions sont :
- Qu'est ce qui vous paraît le mieux en terme d'hébergement de fichier sachant qu'il doit être possible de contrôler l'accès aux ressource ?
- Comment mettre en place une autorisation d'accès dynamique ? En effet, il n'est pas possible de faire d'autorisations basée sur une IP par ex. puisqu'on gère plus de 6000 clients, l'administrateur réseau deviendrait fou. De plus, on gère plusieurs versions de catalogue, l'URL n'est donc jamais la même d'un jour à l'autre.
Pour l'instant on distribue à tous nos clients une "clé MAC", une sortie d'identifiant unique, peut être y'a-t-il qq chose à tirer de cela ? J'ai pensé écrire un WebService qui vérifie si le client a accès à la gamme demandée, puis qui le redirige vers l'URL FTP/SFTP adéquate, mais il n'en reste pas moins nécessaire de sécuriser les URL auxquelles il n'a PAS accès.
J'espère que je suis clair lol
 
Tous les propositions seront les bienvenues.
 
Cordialement

Reply

Marsh Posté le 21-07-2009 à 16:26:23   

Reply

Marsh Posté le 22-07-2009 à 17:52:47    

Hello,
 
Déjà, merci pour ta réponse !  :D  
Alors concernant la possibilité de passer par un Web Service, effectivement c'est la solution à laquelle j'ai pensé en premier, d'autant plus que mes clients sont potentiellement sous des plateformes hétérogènes (J2EE, Windev, etc.), il me fallait donc une technologie standardisée.
Le souci c'est que le transfert de fichiers via HTTP est proscrit (politique de l'entreprise). Du coup, je peux bien faire un module d'authentification via HTTP mais ça ne me servira à rien puisque le transfert devra être fait via un protocole différent.

Citation :

Sinon sans web service, tu peux coder toi-même ton gestionnaire de stockage de fichiers en Asp.Net, voir utiliser un truc tout fait en Php ou autre. Il n'y aura pas de pré-requis pour le client, il se connectera avec son login/pass sur le site web en question et basta !


C'est également une solution à laquelle j'avais réfléchi, mais avant de coder un truc propriétaire dans le style, je voulais d'abord avoir un avis externe, histoire de voir si j'ai pas raté une solution technique évidente plus facile à mettre en oeuvre. Par contre pas question de site web ici, ça se présenterait plutôt sous forme d'un socket (l'utilisation du service doit rester transparente pour le client). Pour être plus clair, on passe en fait par un éditeur tiers qui distribue massivement un logiciel de gestion à nos clients, et c'est dans ce logiciel que nos services sont implémentés.  
En fait je pensais d'abord au départ qu'il était possible de créer à la volée des autorisations d'accès à des répertoires FTP (couple login/mdp comme tu dis) mais ce n'est pas aussi simple que ça !  :sweat:  
 
Merci encore ! :sol:  
a+


Message édité par djflex68 le 22-07-2009 à 17:54:47
Reply

Marsh Posté le 22-07-2009 à 20:39:05    

rien ne t'empêche de créer ton propre serveur FTP. Ou tu gérerais toi même tes droits d'accès en fonction du login et du mot de passe. Je pense que c'est facilement faisable.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
Reply

Marsh Posté le 23-07-2009 à 12:01:54    


 
Je me suis dis la même chose, et j'ai pas eu le courage d'y réfléchir  :D

Reply

Marsh Posté le 23-07-2009 à 12:42:26    

je capte pas trop la remarque  

Citation :

En lisant ce post, je me suis dit qu'on devrait rémunérer les gens qui répondent aux problèmes techniques sur ce forum :D


c'est pas le but d'un forum de répondre à des questions techniques ? :heink:
Concernant ta réponse moi23372, coder entièrement un serveur FTP à la main (avec sécurisation & co) ne me paraît pas forcément pertinent, mais dans l'idée générale c'est un peu la seule solution que je voie pour l'instant... créer un socket sécurisé (SSL) qui écoute les connexions entrantes, gère les autorisations d'accès, et renvoie un flux de données pour le transfert de fichiers.
Par contre ce qui paraît plus chaud c'est de gérer le multiplexing de connexion sur un seul port... je sais pas ce que vous en pensez.. :??:  
 
merci

Reply

Marsh Posté le 23-07-2009 à 13:32:44    

sinon, une autre idée serait de créer une sorte de proxy devant un vrai serveur FTP qui intercepterais les infos de connexion et autoriserait ou nom la connexion. La solution n'est pas simple en tout cas étant donné que tu ne peux pas passer par HTTP.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
Reply

Marsh Posté le 23-07-2009 à 13:34:20    

J'avais fait un truc dans le temps.  
 
le user ne connait pas l'url exact des fichiers (il n'en a pas les droits). A coup de HttpWebRequest tu lui envoie le fichier.
 
C'est simple et efficace


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 24-07-2009 à 01:29:01    

Citation :

Mais c'est juste une boutade


Okay no problem  :D  
 

Citation :

La solution n'est pas simple en tout cas étant donné que tu ne peux pas passer par HTTP


C'est bien le souci oui  :sweat:  
 

Citation :

le user ne connait pas l'url exact des fichiers (il n'en a pas les droits). A coup de HttpWebRequest tu lui envoie le fichier.


Oui c'était l'idée de base, le seul problème était que je voulais éviter de passer par HTTP étant donné que la connexion est réinitialisée automatiquement au bout d'un certain temps... Mais je crois qu'au final j'aurais pas trop le choix... quitte à imaginer un scénario dans lequel le fichier est fragmenté en plusieurs paquets transmis dans des connexions successives distinctes..
 
En tout cas merci à tous pour le temps de réflexion  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed