2010-06-14 5 views
1

Sur nos serveurs de production, les administrateurs créaient un compte d'annuaire actif WebUser qui permet aux utilisateurs d'accéder anonymement à IIS et authentifie l'accès à la base de données avec nos instances SQL Server utilisant Integrated Security = SSPI dans la chaîne de connexion et l'identité impersonate = " true "dans le fichier web.config.Authentification par formulaire pour les utilisateurs et Windows pour la base de données?

J'ai souvent rencontré des situations où je voudrais ou même besoin d'utiliser l'authentification par formulaire. Toutefois, en utilisant l'authentification par formulaires, Integrated Security semble utiliser les informations d'identification de l'utilisateur connecté pour s'authentifier auprès de la base de données. Dans ces cas, j'ai changé la chaîne de connexion pour utiliser les informations d'identification d'un utilisateur SQL Server à la place. Je préférerais ne pas avoir un nom d'utilisateur et un mot de passe codés en dur dans la chaîne de connexion ou plutôt pire dans le code.

Est-il possible d'utiliser l'authentification par formulaire uniquement pour l'authentification de l'utilisateur pour les utilisateurs et l'authentification Windows avec l'utilisateur IIS pour l'accès à la base de données? Quelle serait la meilleure pratique dans une telle situation?

Répondre

1

Oui, désactivez l'usurpation d'identité (ie: impersonate = false) et les formulaires auth seront utilisés pour l'authentification et l'autorisation Web, mais les appels distants utiliseront l'identité du processus asp.net.

+0

Très bien. Ça a marché. Le compte WebUser a été défini uniquement sur le site Web et non sur le pool d'applications, mais une fois que ce dernier a été défini, il a parfaitement fonctionné. – cecilphillip

Questions connexes