BLOGTIMES
2018/02/13

redmine_ldap_sync で firstname にデフォルトの値を設定する

  redmine  ldap 
このエントリーをはてなブックマークに追加

大規模な組織に redmine を導入する場合、どのようにアカウントを管理するかが問題になります。

大概の場合、組織内にある LDAP (や Active Directory)と連携させることになると思いますが、これについてはthorin/redmine_ldap_sync を redmine に導入すると一撃でユーザーやグループの内容を同期できるので便利です。

僕の場合、ここまでは良かったのですが、使っている LDAP のスキーマがちょっとアレで、firstname に使おうと思っていた属性が空だったり、文字数が多すぎたりして redmine に弾かれるという問題が発生して困ってしまいました。とはいえ LDAP 側に変更を加えることはできないので、 redmine_ldap_sync 側に以下の改修を加えてみました。

diff --git a/lib/ldap_sync/entity_manager.rb b/lib/ldap_sync/entity_manager.rb index 040dfc5..7640ce0 100644 --- a/lib/ldap_sync/entity_manager.rb +++ b/lib/ldap_sync/entity_manager.rb @@ -49,6 +49,11 @@ module LdapSync::EntityManager end end + unless user_fields.has_key?("firstname") + user_fields["firstname"] = "hoge" + end + user_fields["firstname"] = user_fields["firstname"].slice(0,30) + user_fields end

これで firstname がないユーザーには hoge が設定されるようになり、同期時のエラーが出なくなりました。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9974
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン