2009-04-03 5 views
1

Je sais que cela semble en arrière, mais j'aimerais pouvoir déterminer le mode d'authentification d'un serveur SQL avant de se connecter avec des informations d'identification. Est-ce possible?Est-il possible de déterminer le mode d'authentification avec lequel un serveur SQL est configuré, "avant" de vous connecter?

Si vous êtes intéressé, je vais brièvement expliquer pourquoi ...

La majorité des utilisateurs de nos produits ne savent pas, comprendre ou même se soucient de la base de données sous-jacente de leur application métier. Traditionnellement, nous avons simplement installé SQL Server 2005 Express en mode silencieux dans le cadre de l'installation, avec un utilisateur et un mot de passe SQL intégrés dans l'application. Pour la majorité des entreprises "Ma et Pa" auxquelles nous avons vendu au cours des 10 dernières années, cela a été suffisant. Alors que les problèmes de sécurité deviennent de plus en plus importants et que notre produit commence à toucher des utilisateurs de plus grande envergure (avec des consultants ou même du personnel informatique qui ont une idée de la sécurité), certains ont leur propre système pré-existant. notre produit "en cours d'installation") les serveurs SQL nous trouvons que nous avons besoin de s'adapter plus facilement aux environnements existants. Je n'ai aucun problème avec cela, mais je ne veux pas forcer les décisions sur les méthodes d'authentification du serveur SQL, les noms d'utilisateur et les mots de passe, etc, sur notre "plus petit dénominateur commun", lors de l'installation.

Si tout cela est trop dur, nous les perdons avant même d'avoir commencé. Donc, je voudrais que notre application puisse déterminer rapidement et facilement le mode d'exécution du serveur et construire sa chaîne de connexion de manière appropriée.

Actuellement, nous utilisons simplement des essais et erreurs - essayez de vous connecter avec l'authentification Windows, se connecter? = bien, échouer? = essayez avec SQL et le nom d'utilisateur/mot de passe connu, connectez-vous? = bien, échouer? Maintenant, demandez des informations d'identification, car dans ce scénario, ils doivent avoir changé de choses et donc avoir une idée de ce qu'ils font. Est-ce que «essai et erreur» est le seul moyen ou est-il un moyen de vérifier le mode d'authentification avant de se connecter avec des informations d'identification? (En utilisant C# et sql2005 pour ce que ça vaut)

+0

Ne voulez-vous pas dire «La majorité des utilisateurs de notre produit * ne le * savent pas ...» – GuyBehindtheGuy

Répondre

0

Pour ce que ça vaut, je ne suis pas sûr que vérifier le mode d'authentification avant d'essayer une connexion va aider.

Si le mode d'authentification est Windows Auth, vous ne saurez pas jusqu'à ce que vous essayiez de vous connecter si l'identité de l'utilisateur actuel a des droits de connexion. Si le mode d'authentification est Mixed Auth, il n'y a aucune garantie que le mot de passe du compte & que vous spécifiez fonctionnera - donc je ne pense pas que vous ayez d'autre choix que d'utiliser les essais et les erreurs.

+0

Eh, merci pour cela - j'ai aussi cette impression. La seule raison pour laquelle je veux savoir ce que le mode est, est que je peux construire la chaîne de connexion appropriée, au-delà de cela, ne pas se connecter en raison de l'absence de droits de connexion est un résultat valide. –

+0

Je voudrais rester avec la méthode d'essai et d'erreur. Ce sera le plus fiable. – mrdenny

+0

Je ne suis pas du tout d'accord avec cette réponse. Pour des raisons de sécurité, Microsoft renvoie généralement uniquement une erreur 18452 ou 18456 aux clients. Cela ne suffit pas pour déterminer si le problème est dû à l'authentification en mode mixte, une cause fréquente de problèmes de connexion.Par conséquent, être en mesure de déterminer par programme si le mode mixte est activé avant d'essayer de se connecter avec un nom d'utilisateur/mot de passe SQL Server garantit une meilleure expérience utilisateur. Quelqu'un peut-il répondre à la question initiale? – GuyBehindtheGuy

Questions connexes