Bonjour à tous,
Je cherche depuis déjà un petit moment une solution à mon problème mais j'avoue que je suis perdu. Je vais donc vous expliquer le contexte de mon application et ensuite ce que je souhaite faire, en espérant que quelqu'un saura m'aider.
Dans le but de me connecter à un cube sur SQL Server Analysis Services (SSAS), j'utilise la dll fournie par Microsoft : msmdpump.dll (plus d'infos ici). Pour le moment, la connexion est en mode Anonyme, et donc quand l'utilisateur se connecte à la DLL, IIS utilise l'utilisateur autorisé à se connecter à SSAS.
Maintenant, j'aimerai faire un site web qui utilise un plug-in pour naviguer de façon graphique dans le cube, en l'occurrence Flexmonster.
Mon problème est le suivant : Une fois que le site web sera publié, n'importe quel utilisateur qui se connectera aura accès au cube. Je pourrai rajouter une couche de connexion avant l'accès au cube, mais du coup n'importe qui utilisant un sniffer de requête HTTP trouvera l'url de connection au cube en clair. Et aura donc accès au cube de façon anonyme.
La solution serait donc d'activer l'authentification directement sous IIS. L'utilisateur se connectant au site rentrerait ses informations Active Directory, et IIS exécuterait la DLL sous ce compte. Comme ce compte aura accès à MSAS, alors il se connectera au cube.
J'ai lu sur les docs Microsoft que pour se connecter à Active Directory, il fallait utiliser l'identification Windows avec NTLM. Mais il y a aussi écrit que pour un usage Internet, cela n'était pas recommandé et qu'il fallait notamment que le client et le serveur soient sur le même domaine, ce qui n'est pas le cas ici.
J'ai aussi trouvé un article sur l'impersonnalisation, mais cela ne permet pas de résoudre mon problème car le site sera toujours exécuté sous un seul utilisateur autorisé.
Je recherche donc un moyen, à partir d'un site web, de s'identifier en rentrant un login / pass. Ce login / pass sera envoyé à IIS qui ira vérifier dans Active Directory si cet utilisateur est reconnu. Si c'est le cas, alors l'instance du site web sera exécutée sous cet utilisateur et il pourra se connecter à la dll.
Si quelqu'un a déjà eu affaire à ce cas de figure, je suis preneur.
N'hésitez pas à renommer ce topic si le titre n'est pas clair, ou à le déplacer dans une autre rubrique le cas échéant.
Merci beaucoup de votre aide.
Partager