私はMySQL接続(私の場合はPDOですが、それは問題ではありません)をREST APIに設定しています。MySQL接続でカスタム変数を渡す
REST APIは内部認証(ユーザー名/パスワード)を使用します。 REST APIにアクセスする複数のユーザーグループがあります。顧客、IT、バックエンド、カスタマーサービスほとんどの場合、同じエンドポイントを使用するため、すべて同じMySQL接続を使用します。
MySQLデータベースでは、データセットの変更を担当するユーザーを保存したいと思います。
私はこれをトリガによってMySQL層に実装したいと思います。したがって、REST APIからのユーザー情報をこのトリガーに何らかの形で渡す必要があります。メタ情報の問い合わせを可能にするCURRENT_USER()
またはstatus
のようないくつかのMySQLコールがあります。私の考えは、接続文字列の追加情報を何らかの方法でMySQLに渡すことで、別のデータベースユーザーを使用する必要はありませんが、引き続きトリガー内からこの情報を取得できます。
私はいくつかの研究を行いましたが、それは可能ではないと思っていますが、それで私の仕事が楽になるので、誰かが自分の問題の解決策を知っていたかどうか尋ねたいと思っていました。
ウェイ推測を行う以外の用途であること – RiggsFolly
両方の概念が同じ名前(「ユーザ」)を共有していても、アプリケーションユーザは決してMySQLユーザに関係しません。それらは完全に独立した存在であり、共通点はありません。 MySQLはあなたのユーザについて何も知らない。 PHPを使用している場合は、 'PDO :: MYSQL_ATTR_INIT_COMMAND'接続オプションを使用して、connectコマンドでカスタムコマンドを起動することができます。 'insert into connection_log ...'クエリを実行してください(パフォーマンスには注意してください)。 –
@RiggsFollyなぜそれが広すぎると思うか分かりません。それは非常に具体的な質問です。私はMySQLのトリガーでそのユーザー名を読み取るために、MySQL接続に追加情報(APIのユーザー名)を渡したいと思います。 – Horen