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

2018-02-07

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

イントラマートとは
株式会社NTTデータイントラマート社が開発・販売している、Webアプリケーションシステムのシステム共通基盤(統合型フレームワーク)で、国内の著名企業を中心に6,000社以上に導入されています。 イントラマートを導入することにより、Webシステム開発における短納期・低コスト・標準化推進・品質向上を実現できます。
詳しくはこちらをご覧ください。

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

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

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

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

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

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

実行結果は

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