ProjectManagement

Redmine Authentication with OpenLDAP

2021年10月31日

Overview

Redmine の認証を OpenLDAP にする。

Requirement

  • Redmine の認証を OpenLDAP にする。
  • Redmine 未登録ユーザーは最初にRedmineログイン時に OpenLDAP 認証後に自動的に Redmine のユーザー登録をする。

Reference

Environment

OpenLDAP Host

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$
$ slapd -V
@(#) $OpenLDAP: slapd  (Ubuntu) (Apr  8 2021 04:22:01) $
        Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>

$
$ sudo apt list slapd
Listing... Done
slapd/focal-updates,now 2.4.49+dfsg-2ubuntu1.8 amd64 [installed]
N: There are 2 additional versions. Please use the '-a' switch to see them.
$

Redmine Host

$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
$
Environment:
  Redmine version                4.2.3.stable
  Ruby version                   2.6.8-p205 (2021-07-07) [x86_64-linux]
  Rails version                  5.2.6
  Environment                    production
  Database adapter               Mysql2
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
SCM:
  Subversion                     1.14.1
  Git                            2.33.0
  Filesystem                     
Redmine plugins:
  no plugin installed

OpenLDAP Configuration

$ sudo ldapsearch -x -D cn=admin,dc=travelersmedia,dc=jp -W -LLL -b ou=people,dc=travelersmedia,dc=jp
Enter LDAP Password:
dn: ou=people,dc=travelersmedia,dc=jp
objectClass: organizationalUnit
ou: people

dn: uid=user01,ou=people,dc=travelersmedia,dc=jp
objectClass: inetOrgPerson
cn: user01 rlab
sn: rlab
givenName: user01
userPassword:: e1NTSEF9c1JIektJRUlhemErS24wbElLaEt2SkZENnR2V0swZ0U=
uid: user01
mail: user01@travelersmedia.jp

$

Redmine Configuration

Authentication Test

Redmine未登録ユーザー

ログインID:メールアドレス(LDAPに登録されているメールアドレス)

パスワード:LDAPに登録されているパスワード

ログインするとメニューバーに「Logged in as user01@travelersmedia.jp」と表示される。

LDAPのユーザー管理を表示するとuser01@travelersmedia.jpが登録されていることが確認できる。