SQLログイン認証の際にログを出力するにはどうすればよいですか?

以下のようにユーザ名、パスワードを引数に持ち、認証が成功した場合はユーザ名、失敗したときは""(NULL)を返すルーチン(SecTest^SecTest)を作成し、標準の認証システムを書き換えることができます。
 

SecTest(user,pass)
 // user1のパスワードがuser1の場合、認証OKのログを作成
 if user="user1",pass="user1" {
  set ^sqllog($i(^sqllog))="認証OK;"_$horolog_";"_user
  quit user
 }
 // 認証できなかった場合、認証NGのログを作成
 set ^sqllog($i(^sqllog))="認証NG;"_$horolog_";"_user
 quit ""


このルーチンを$SYSTEM.SQL.SetSQLLoginOverride()関数を使用して置き換えます。
 

do $SYSTEM.SQL.SetSQLLoginOverride("SecTest^SecTest")


ただし標準の認証ができなくなりますので、パスワードを別に保管、参照する仕組みを記述する必要があります。


関連トピック:
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る