SQL Server et ASPX - SQL/NoSQL - Programmation
Marsh Posté le 08-12-2005 à 20:12:13
A priori, tu es en authentification intégrée.
Accorde donc des droits du "ASPNET" de la machine NT qui fait tourner le site Web à la base de données.
Si les deux sont sur deux machines séparées, soit tu passes en domaine et tu fais tourner le site avec un compte du domaine, soit tu passes à une authentification SQL Server.
Marsh Posté le 08-12-2005 à 20:53:00
Ben dans SQL Server, il faut aller dans la gestion des utilisateurs, et ajouter le compte ASPNET de la machine.
Ensuite, tu l'associes à un profile, et tu vérifies qu'il a bien les droits sur la base.
Marsh Posté le 08-12-2005 à 21:08:07
Dans mon cas, j'ai pusieurs comptes NT autorisés à se connecter à différentes bases.
Attention, les shots peuvent varier, je suis sous SQL Server 2000 US...
On va se concentrer sur mon compte "IIS" (créé à la main, ce n'est pas le compte IUSR_machine" par défaut). J'ai donc forcé IIS à utiliser ce compte pour faire tourner les sites écrits en ASP :
On voit que c'est un compte NT, et j'explicite qu'il est autorisé à se connecter à SQL Server
Maintenant, il faut lui donner le droit de se connecter à des bases de données :
Normalement, il s'est créé tout seul dans les logins de la base de données. Si ce n'est pas le cas, il faut le faire à la main (ajouter, puis choisir parmis les logins déclarés sur le serveur)
Marsh Posté le 08-12-2005 à 21:15:04
Dans ses propriétés, je lui ai mis le profil "public", car c'est un compte potentiellement dangereux : n'importe qui qui arrive à faire tourner son bout de code sur mon site pourrait aller jouer dans la base !
Sur toutes les tables et autres objets permettant de faire des dégats, j'explicite une interdiction de toute action au profile "public".
Par contre, il faut quand même qu'il puisse faire quelquechose dans la base...
Donc j'ai écrit des PS et des vues, et là, j'ai explicité une autorisation (attention, je n'ai pas coché la case, je l'ai juste ajouté, sinon elle irait écraser des droits plus fins au cas où j'interdise explicitement à un utiliseur de ce profil d'aller toucher à cette PS)
Voilà, ici, le compte IIS (donc mon site web) n'a pas le droit de faire "insert into citizen", mais il peut tout de même ajouter un citoyen en utilisant la PS "addCitizen"
Marsh Posté le 09-12-2005 à 19:48:41
merci bcp de ton aide, finalement j'y suis arrivé... Merci à toi...
Marsh Posté le 08-12-2005 à 19:37:34
L'erreur n'est pas bien compliqué
j'ai droit à: "login failed for user 'LAU-NOTEBOOK\ASPNET'"
Donc j'ai une base SQL SERVER 2005
J'utilise un webservice sous .NET 2.0 BETA 2 (et oui tjs)...
Qu'est ce que je dois faire pour résource ce problème? merci d'avance