diff --git a/src/main/scala/service/AccountService.scala b/src/main/scala/service/AccountService.scala index 006a9be..84e78a1 100644 --- a/src/main/scala/service/AccountService.scala +++ b/src/main/scala/service/AccountService.scala @@ -38,9 +38,13 @@ LDAPUtil.authenticate(settings.ldap.get, userName, password) match { case Right(ldapUserInfo) => { // Create or update account by LDAP information - getAccountByUserName(userName) match { - case Some(x) => updateAccount(x.copy(mailAddress = ldapUserInfo.mailAddress, fullName = ldapUserInfo.fullName)) - case None => createAccount(userName, "", ldapUserInfo.fullName, ldapUserInfo.mailAddress, false, None) + getAccountByUserName(userName, true) match { + case Some(x) if(!x.isRemoved) => updateAccount(x.copy(mailAddress = ldapUserInfo.mailAddress, fullName = ldapUserInfo.fullName)) + case Some(x) if(x.isRemoved) => { + logger.info(s"LDAP Authentication Failed: Account is already registered but disabled..") + defaultAuthentication(userName, password) + } + case None => createAccount(userName, "", ldapUserInfo.fullName, ldapUserInfo.mailAddress, false, None) } getAccountByUserName(userName) }