イントラマートでログインユーザーとクライアントIPを取得する

2018-02-07

イントラマートでログインユーザーとクライアントIPを取得する方法です。

イントラマートでログインユーザーとクライアントIPを取得する

通常はファンクションコンテナでクライアントIPアドレスは「Web.getRemoteAddr()」、ログインユーザー名は「Module.client.get(“name”)」で取得できますが、それをSQLSrverのストアドプロシジャーでやってみます。

イントラマートのセッション情報を管理しているテーブル覗き見

実現するにはイントラマートが管理しているセッション情報を覗き見します。
該当テーブルはb_m_active_session_infoです。

@my_cdにはログインしたユーザーコードを設定します。

ログインをした状態でブラウザーの「×」ボタンでブラウザーを終了した場合はしばらくb_m_active_session_infoにログインユーザーのセッション情報が残り、直後に再ログインをすると複数件取得されるので、ログイン時間の最新のものだけを取得します。

実行結果は

になります。
(実際はログインしたマシンのIPアドレス、ユーザー名が表示されます。)