「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@404) [低] [アイデア]
@404■ (#1270) LDAPサーバから情報収集機能 - aky (2009-10-17 21:35) /中 未処理
【要望】LDAPサーバから必要な情報を簡単に取ってくる関数が欲しいです。
    デラックス版だけでもかまいません。

 職場で事務を担当しているのですが、申込者からやって来るメールを元に、申込者の情報をCSVデータにしてデータベースに登録しています。不足している情報があると申込者の名前から会社で提供しているアドレス帳(LDAP?)を検索してひとり一人住所や電話番号をカット&ペーストしなければならず、何とかならないものかと投稿した次第です。

(#1503) RE:LDAPサーバから情報収集機能 - aky (2010-03-06 20:53) /低 アイデア
 最近、「なでしこは"LUA"というもので機能拡張できる。」と
いうことを知り、エクセル操作の機能追加について勉強していました。
 が、ふと、中断(ほぼ諦め)状態になっていた"LDAP"を思いだし、
これに応用できるのではないかと思い、以下の段階までやってきました。
 実現できたわけではありませんが、自分なりに方向性が見えてきたので、
ご報告いたします。
--------------------------------
(1) lualdap-1.1.0-win32-lua51.zipをダウンロード
http://luaforge.net/frs/download.php/2995/lualdap-1.1.0-win32-lua51.zip

(2) {nakoインストールフォルダ}clibsにlualdap.dllをコピー

(3) あとはLUAのLDAPの使い方を勉強する。
http://www.keplerproject.org/lualdap/manual.html
※以下のスクリプト未完成です。手を加えて正しくパラメータを設定すれば動くかも?
--ここから
●LDAP検索
  LUA(`--
  require "lualdap"

  -- lualdap.open_simple (hostname, who, password, [option]useTLS)
  ld = assert (
    lualdap.open_simple ("ldap_server"
    , "mydn=manoeljoaquim, ou=people, dc=ldap, dc=world"
    , "password"
    )
  )

  for dn, attribs in ld:search { base = "ou=people,dc=ldap,dc=world" } do
    io.write (string.format ("\t[%s]\n", dn))
    for name, values in pairs (attribs) do
      io.write ("["..name.."] : ")
      if type (values) == "string" then
        io.write (values)
      elseif type (values) == "table" then
        local n = table.getn(values)
        for i = 1, (n-1) do
          io.write (values[i]..",")
        end
        io.write (values[n])
      end
      io.write ("\n")
    end
  end

  ld:close()
  --`)
--ここまで

(#1270)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能