J'ai une procédure stockée qui met à jour les données d'une table pour un enregistrement spécifique. J'ai plusieurs utilisateurs qui utiliseront cette procédure stockée mais je veux seulement qu'ils puissent mettre à jour les enregistrements qui leur sont assignés.Déterminer si la procédure stockée peut s'exécuter en fonction de la connexion AD
Chaque enregistrement qui doit être mis à jour par la procédure stockée a un champ nommé "UserID" qui définit qui a le contrôle sur l'enregistrement. J'ai également une table de mappage qui mappe les connexions actives d'annuaire aux ID d'utilisateur. J'utilise Active Directory pour que SQL Server sache qui tente d'exécuter la procédure stockée. Existe-t-il un moyen, dans la procédure stockée, de rechercher les informations de connexion du répertoire actif des utilisateurs dans une autre table, puis de déterminer si elles ont accès aux enregistrements qui tentent d'être mis à jour?
Peut-être que vous pouvez offrir une solution différente au problème? – webworm
+1 pour une solution bien expliquée; @webWorm, personnellement, je contrôle l'accès à la base de données via la couche logique métier qui est appliquée par la présentation (en affichant uniquement les fonctions disponibles pour l'utilisateur donné). – Brad
@Brad, je suis entièrement d'accord avec vous et c'est ainsi que je l'ai implémenté actuellement. Cependant, l'administrateur de base de données de l'organisation a insisté pour que la sécurité soit également mise en œuvre sur la couche de données. Mes mains sont liées dans cet aspect. – webworm