Limiter la manipulation des données de l'utilisateur seulement à travers la couche d'application pour la solution multi-base de données

StackOverflow https://stackoverflow.com/questions/1537765

  •  20-09-2019
  •  | 
  •  

Question

Je commence le développement d'un nouveau logiciel qui doit être conforme à SQL Server (2005 et plus), Oracle (10R2 et au-dessus) et Sybase (12.5 et plus). Je prévois la mise en œuvre de l'abstraction de base de données en utilisant des procédures stockées, afin que je puisse utiliser des approches plus spécifiques performatic de base de données mise en œuvre de code pour chaque cas. Je prévois de refuser l'accès à toutes les informations de la table, y compris lecture de données, et permettre l'accès à l'information que par des procédures stockées. Le problème est que quand j'accorde la permission d'exécution d'une procédure stockée qui sera utilisé pour insérer, si l'utilisateur se connecte à la base de données via SSMS ou SQL Plus, il sera en mesure d'ajouter des données en appelant la procédure directement, et je comme pour empêcher cela. Je voudrais que la manipulation de données par le biais des procédures stockées être exécutées que par ma demande. Je pourrais vous donner des connexions séparées pour mon application et les utilisateurs, mais je veux avoir la possibilité de ma demande de connexion à la base de données via l'authentification NT, à l'aide de lettres de créance de l'utilisateur. Y a-t-il un moyen de faire cela?
Y at-il une meilleure façon d'obtenir ce que je suis en train de réaliser?
Merci

Était-ce utile?

La solution

Vous pouvez incorporer un UUID dans votre application et que la procédure stockée exige avant qu'il n'écrire des données dans la base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top