GUIでログインして認証情報(sessionid)をオリジナルのPHPに取得出来るか?
ZABBIX 3.0.7にてオリジナルアプリ(ページ)を作成中ですが、
ログインを本来のZABBIXログイン画面で行おうと考えております。
ログイン後はZABBIXユーザー設定のTOPページ指定によって
オリジナルアプリのURLへ飛ばす方法です。
ZABBIXログイン後に呼び出されたPHP内でAPIを使って今の認証キー(sessionid)を
取得出来ないか、もしくはログイン時に使用したユーザー情報やパスワード情報といった
認証情報を引継いでsessionidを再取得する事が出来ないか調べています。
(ただ後者はゴミが残るので嫌ではありますが)
因みにオリジナルPHPは全てZABBIXサーバー上に置いてあります。
そのPHPでZABBIX API群(PHP)の"/usr/share/zabbix/include"以下の幾つかを
requireすれば"$sessionId"で取得出来るのではと思ったのですが。。。
DBに格納されているのは分かるのですがどうやって特定のsessionidを抽出するのか
分からず悩んでいるところです。
GUIログインからの認証情報をユーザーAPIに引き継ぐ事が出来ますでしょうか?
TNK - 投稿数: 4760
単純にrequireするだけでは実現できないと思います。
ZabbixのAPIで、現在認証済みのセッション情報を取得するAPIも用
意されていません。
画面の遷移には、クッキーやhidden属性のパラメータが必要であっ
たはずです。
各画面の遷移内でも、必要となるパラメータを引き継ぎながら遷移
するようにすることになるでしょう。
ZabbixのWebインターフェースと密接に連携しようとすると、Zabbix
のバージョンアップの度に修正が必要となる場合があるのでご注意
ください。
Koji Okano - 投稿数: 6
TNKさま
ご回答ありがとうございます。
またレスポンスが無く申し訳ありません。
> ZabbixのWebインターフェースと密接に連携しようとすると、
> Zabbixのバージョンアップの度に
> 修正が必要となる場合があるのでご注意ください。
仰るとおりと思います。
ログイン画面を有効に使い、
開発を短縮しようと思っておりましたが
結局オリジナルのログイン画面を作ってしまいました。
今回のご回答は今後APIを利用する際に役立てたいと思います。
ありがとうございました。