[Lism-users 147] PostgreSQL から ID ・パスワード情報を LDAP へとデータを同期したいと考えています。

Zurück zum Archiv-Index

tokus****@yahoo***** tokus****@yahoo*****
2008年 9月 12日 (金) 15:16:14 JST


このたび、メーリングリストに参加させていただきました。
徳田と言います。お世話になります。

現在、ID・パスワードでログインする簡単な自作のWEBアプリがあります。
これは、PostgreSQLを使用しており、そこでID・パスワードを管理しています。

このID、パスワードですが、別のLDAPを利用するソフトウェアをIDを同一にした
いので、LDAPとPostgreSQLの2つのカラムを同期させたいと考えています。自作WEB
アプリからPostgreSQLに登録されるログインユーザーが増えると、LDAPに同様に
登録させるようにしたいです。

クイックスタートガイドなどを見てインストールしてみたのですが、何とか「ク
イックスタートガイド」の「LISMサーバ」項目の7番目「LISMサーバに対して検索
を実行し〜」までは成功しました。

次に、「LISM 操作方法」や「XOOPSからマスタとその他のシステムを同期させる
設定」を参考にして、何とかPostgreSQLからLDAPへとデータを同期させようとし
ているのですが、上手くいきません。

現在は、「クイックスタートガイド」でインストールを終わらせ、「LISM 操作方
法」の「システムデータの操作」で「xoopsuser.ldif」を(uidなど細部は変更し
てますが)登録してから、「リアルタイムデータ同期」は飛ばして「差分データ
同期」のlismsync read allを実行させようとしていますが、「Unexpected EOF」
というエラーが出て、LISMのslapdが強制終了されてしまいます。

おそらく、/usr/local/lism/etc/lism.confが正常に書けていないからと思うので
すが、その認識で正しいでしょうか?

一応、lism.confの内容を末尾に書いておきます。XOOPSの単語を自作のアプリ名
に変更しています(メール中では○○)。IDとパスワードしか必要ないので、そ
れ以外の物はコメントにしているのですが、これでは駄目なのでしょうか?

設定方法についてご教授いただければ助かります。
よろしくお願いします。


lism.conf
------------------------------------
<config>
  <sync>
    <transaction>off</transaction>
    <data name="○○">
      <masterop>add</masterop>
      <masterop>modify</masterop>
      <masterop>delete</masterop>
      <object name="User">
        <masterdn>ou=People</masterdn>
        <syncdn>ou=People</syncdn>
<!--
        <masterattr>
          <name>cn</name>
        </masterattr>
        <masterattr>
          <name>sn</name>
        </masterattr>
-->
        <masterattr>
          <name>userPassword</name>
        </masterattr>
<!--
        <masterattr>
          <name>mail</name>
        </masterattr>
        <masterattr>
          <name>businessCategory</name>
        </masterattr>
-->
      </object>
    </data>
    <master>
      <containerdn>ou=Master</containerdn>
      <data>LDAP</data>
    </master>
  </sync>
  <data name="○○">
    <container>
      <oc>organizationalUnit</oc>
      <rdn>ou=○○,dc=lism,dc=com</rdn>
      <attr name="description">Web Portal</attr>
    </container>
    <storage name="SQL" hash="SHA:hex">
      <dsn>DBI:pgsql:postgres:localhost</dsn>
      <admin>postgres</admin>
      <passwd>postgrespw</passwd>
      <object name="User">
        <container>
          <rdn>ou=People</rdn>
          <oc>organizationalUnit</oc>
        </container>
        <table>auth_tbl</table>
        <id>uid</id>
        <oc>Person</oc>
        <oc>inetOrgPerson</oc>
        <rdn>uid</rdn>
        <attr name="uid">
          <column>auth_id</column>
        </attr>
<!--
        <attr name="cn">
          <column>name</column>
        </attr>
        <attr name="sn">
          <selexpr>substring(name,position(' ' in
name)+1,char_length(name)-position(' ' in name))</selexpr>
        </attr>
-->
        <attr name="userpassword">
          <column>pass</column>
        </attr>
<!--
        <attr name="mail">
          <column>email</column>
        </attr>
        <attr name="businesscategory">
          <oname>Role</oname>
	  <fromtbls>○○_groups,○○_groups_users_link</fromtbls>
	  <joinwhere>○○_groups.groupid=○○_groups_users_link.groupid and
○○_users.uid=
○○_groups_users_link.uid</joinwhere>
	  <addproc>insert into ○○_groups_users_link(uid, groupid) values(%o,
%a)</addproc>
	  <delproc>delete from ○○_groups_users_link where uid = %o and groupid =
%a</delproc>
        </attr>
-->
      </object>
    </storage>
  </data>
  <data name="LDAP">
    <container>
      <oc>organizationalUnit</oc>
      <rdn>ou=LDAP</rdn>
      <attr name="description">LDAP Server</attr>
    </container>
    <storage name="LDAP" hash="CRYPT">
      <uri>ldap://localhost/dc=example,dc=com</uri>
      <binddn>cn=Manager,dc=example,dc=com</binddn>
      <bindpw>secret</bindpw>
    </storage>
  </data>
</config>


--------------------------------------
Enjoy MLB with MAJOR.JP! Ichiro, Matsuzaka, Matsui, and more!
http://pr.mail.yahoo.co.jp/mlb/




Lism-users メーリングリストの案内
Zurück zum Archiv-Index