2011-10-25 2 views
1

J'ai le scénario suivant:ID utilisateur et poste de travail SQL unique

Une application Web déployée sur un NLB et un cluster SQL.

Dans la base de données, chaque table dispose d'un déclencheur pour suivre les activités effectuées par les utilisateurs. Actuellement, les déclencheurs enregistrent HostName (ce qui n'est pas utile dans le cas d'un tel déploiement Web).

La connexion à la base de données est usurpée avec le compte "SA", existe-t-il un moyen d'obtenir l'utilisateur connecté ou le poste de travail envoyant la requête dans SQL ou j'ai besoin de transmettre les informations utilisateur dans la base de données Code.

Le SGBD SQL est et l'application Web est basée sur le framework .NET

Répondre

-1

Vous devez passer dans l'ID utilisateur à partir du code, sauf si vous configurez Kerberos passe par l'utilisation de l'authentification Windows. C'est hors de portée pour cette réponse. Plus important encore, pourquoi exécutez-vous une application Web en utilisant "sa" sur le cluster SQL. C'est de l'idiotie. Utilisez un compte de service Windows «au moindre privilège» pour exécuter votre pool d'applications IIS et utilisez-le pour vous connecter à SQL Server.

+0

bien oui je sais que l'utilisation de "sa" n'est pas la bonne pratique mais elle a été faite exprès car nous avons certaines transactions sur la base de données qui nécessitent des privilèges plus élevés. – SShebly

+0

@SShebly: exemple s'il vous plaît du code qui nécessite sa – gbn

+0

une fonctionnalité pour effectuer des sauvegardes et restaurer à la base de données à partir de l'application comme celle disponible dans SharePoint, générer des rapports sur les activités db – SShebly