Voici la situation. Je travaille sur le développement d'un nouveau site web pour accéder à une ancienne base de données. C'est une installation DoD donc il y a beaucoup de sécurité autour.Comment faire pour que ASPNET soit reconnu comme une connexion sécurisée par SQL Server 2005
L'application actuelle est écrite en ASP classique, VBScript et du javascript. Les nouveaux systèmes sont ASP.NET.
Accéder à la base de données dans l'ancien système signifiait que vous utilisiez le serveur avec vos propres informations d'identification (nom de domaine \ nom d'utilisateur). Maintenant, j'essaie de tester certains des premiers développements que j'ai faits. Lorsque j'ai utilisé Cassini (sous VS2008), je n'avais aucun problème à accéder à la base de données car notre domaine \ myusername était enregistré avec l'instance SQL Server en tant que connexion sécurisée. En raison des aspects de sécurité que je dois écrire, Cassini ne peut plus servir de serveur de test - je dois utiliser IIS (nous avons ici des lecteurs de cartes de sécurité). Cassini ne peut pas les gérer. Donc, quand j'ai rencontré tous les problèmes d'avoir ajouté les comptes appropriés aux administrateurs sur mon PC local pour pouvoir déboguer dans VS2008 en utilisant IIS, j'ai essayé de me connecter à la base de données et j'ai été rejeté car MYPC \ ASPNET n'était pas une connexion de confiance.
La modification de la base de données existante est hors de question. Les noms d'utilisateur et mots de passe codés en dur pour l'accès à la base de données sont hors de question.
J'ai demandé au DBA s'il pouvait ajouter MYPC \ ASPNET aux groupes de domaine afin que SQL Server puisse le voir comme une connexion approuvée (puisque MYDOMAIN \ MYNAME faisait partie d'un groupe considéré comme une connexion approuvée). Il me dit que ce n'est pas techniquement possible. Au final, il y aura trois ou quatre machines (la mienne, un autre développeur, l'éventuel serveur web en direct et un futur serveur web de test) dont les comptes ASPNET vont toucher nos deux serveurs SQL (live et test).
Que dois-je faire pour que le serveur SQL existant me considère comme ami et non ennemi? J'ai regardé l'usurpation d'identité mais j'ai l'impression qu'elle n'est pas compatible avec notre système - les règles métier appellent une routine commune pour créer un objet SqlConnection et l'ouvrir (peut-être même un objet SqlTransaction) et cet objet est utilisé pour le reste des règles métier et la couche d'accès aux données jusqu'à ce que cela soit fait. Il ne semblait pas que l'usurpation d'identité persisterait une fois le SqlConnection ouvert (et passé, ByRef à la routine d'appel)
Merci d'avance pour tout conseil.
Dans ce que j'ai lu jusqu'à présent dans les pages MSDN sur l'emprunt d'identité, je n'ai pas encore trouvé de réponse. Je mets un " " dans le web.config et l'erreur dit maintenant que l'utilisateur "(null)" n'est pas une connexion de confiance. Progrès, mais pas encore une réponse complète. –
David
Cela se produit parce que vous avez autorisé les utilisateurs anonymes. Vous devez autoriser uniquement Windows Authentiacation dans IIS config – Albert
Finalement, je dois autoriser l'accès anonyme car nous avons des utilisateurs non seulement dans notre domaine local mais venant d'un «site portail» - malheureusement, je ne sais pas grand-chose sur ce que l'information va être disponible pour moi dans les contextes de ces utilisateurs. – David