yona-projects/yona

ldap 로그인 문제

hamhs2000 opened this issue · 3 comments

리눅스 ldap 사용 입니다. 연동 과정에서 저희 Distinguished Name 으로 접속할 경우 uid로 매핑이 됩니다.
그래서 아래와 같이 세팅 후 해당 계정으로 로그인 할 경우 로그인은 되나 다른 계정으로 로그인을 해도
최초 로그인시 생성된 계정으로만 로그인이 되는 상황입니다. 저희 ou는 People로 사용자가 지정됩니다.
yona 1.15 사용 중입니다.

예) hong.gildong으로 최초 로그인 -> 로그아웃 -> kim.chulsoo로 로그인 -> 아이디 hong.gildong

ldap {
host = "ldap.yona.co.kr"
# default: ldap.port=389, ldaps.port=636
port = 389
# protocol: ldap or ldaps. If you want to use SSL/TLS, use 'ldaps'
protocol = "ldap"
baseDN = "ou=People,dc=yona,dc=co,dc=kr"
# If your ldap service's distinguishedName is 'CN=username,OU=user,DC=abc,DC=com', postfix is 'OU=xxx,DC=abc,DC=com'
distinguishedNamePostfix = "OU=People,DC=yona,DC=co,DC=kr"
#loginProperty = "sAMAccountName"
loginProperty = "uid"
displayNameProperty = "displayName"
userNameProperty = "uid"
emailProperty = "mail"
options {
# If your LDAP configuration support email login
useEmailBaseLogin = false
fallbackToLocalLogin = true #ldap연동 전 로컬 사용자가 false 후 연동하니 로그인이 안되서 true로 변경 하였습니다.
# If your LDAP configuration support English Name attribute
englishNameAttributeName = "givenName"
}

fallbackToLocalLogin = true

기본적으로 ldap 연동을 하면 로그인을 email로 로그인을 해야 합니다.

다만 위 옵션을 true 로 한 경우 @company-email.com을 붙이지 않을 경우 로컬 id 를 찾아서 매칭시켜서 로그인을 가능하게 만들어 주는 옵션입니다.

로그인을 하실때 이메일을 기본 id 로 사용해서 로그인 하도록 권장하셔야 할거에요.

저희 ldap에서는 따로 mail 속성을 가지지 않는데 그럴 경우에는 방법이 없는건가요?? 해당 문제로 DB를 체크했을때
최초 가입자로 로그인 후 다음 가입자로 로그인 할 경우 DB에서 새로운 계정이 생성되는게 아니라
n4user table에서 english_name 이 변경되고 기존 아이디는 변경되지 않습니다.

제가 LDAP 에 대해 지식이 많지 않아서 어떻게 더 이야기 드리기가 어려울 것 같아요. 구현 자체는 표준 LDAP 스타일로 되어 있습니다.