Je suis occupé à concevoir une application WCF. L'objectif de l'application sera de donner aux membres d'assurance l'accès à leurs informations d'assurance via le web. Le problème réside dans notre architecture réseau et je ne sais pas exactement quel type ou quelle combinaison de sécurité je dois utiliser.WCF Architecture
Dans notre réseau interne, nous avons un environnement UNIX auquel j'accède en utilisant l'encapsuleur EntireX .net et nous avons un magasin de données Oracle 10g auquel j'accède via la bibliothèque Enterprise.
J'ai créé une liste de correctifs de base contenant les objets de gestion et une liste d'accès client qui remplit ces objets via Enterprise Library/EntireX.
J'ai créé une couche de services WCF avec 2 services WCF, l'un pour accéder au magasin Oracle et l'autre pour accéder à Unix et ils font référence à la BLL.
Je vais héberger ce service dans IIS sur un serveur de production avec SQL 2005 à l'intérieur du pare-feu. Nous avons acheté un serveur web pour lequel nous créons des DMZ et ce serveur web ne communiquera avec le serveur de production que via le port 443 et/ou le port 80. Notre société internet aura accès au serveur web dans la zone démilitarisée.
La couche de présentation sera un frontal ASP.Net qui appelle le service en code à l'aide d'un Channelfactory. J'utilise des certificats client X509 que le client doit présenter au service. Le service est sécurisé par SSL. L'extrémité avant sera sur le serveur Web dans la zone démilitarisée. J'utilise wsHttpBinding avec la sécurité de transport et clientCredentialType = "Certificate", qui fonctionne correctement, mais je souhaite transmettre les informations de connexion au service. J'ai pensé à l'ajouter à l'en-tête du message.
Maintenant, je suis à un stade où je doute de la viabilité de mon design. Quelqu'un peut-il me donner quelques conseils sur la liaison et la sécurité que je dois utiliser dans ce scénario, comment transmettre les informations de connexion et ce que je dois avoir dans ma couche de présentation pour être le plus sécurisé. Nous contrôlons les ports qui seront ouverts via le pare-feu vers le serveur de production interne. Nous aurons seulement 1 client ASP.Net hébergé sur le serveur web dans la DMZ mais n'aurons qu'un accès HTTPS ou HTTP au serveur de production.
Merci beaucoup Ryan
Merci
Lorsque vous dites "Je veux transmettre les informations de connexion au service", voulez-vous dire que vous voulez que l'identité de l'utilisateur soit disponible dans la couche services? – Dan