diff --git a/src/main/scala/app/SystemSettingsController.scala b/src/main/scala/app/SystemSettingsController.scala index 3d30aff..a2e410e 100644 --- a/src/main/scala/app/SystemSettingsController.scala +++ b/src/main/scala/app/SystemSettingsController.scala @@ -35,8 +35,7 @@ "userNameAttribute" -> trim(label("User name attribute", text(required))), "additionalFilterCondition"-> trim(label("Additional filter condition", optional(text()))), "fullNameAttribute" -> trim(label("Full name attribute", optional(text()))), - "mailAttribute" -> trim(label("Mail address attribute", text(required))), - "disableMailResolve" -> trim(label("Disable Mail Resolve", optional(boolean()))), + "mailAttribute" -> trim(label("Mail address attribute", optional(text()))), "tls" -> trim(label("Enable TLS", optional(boolean()))), "keystore" -> trim(label("Keystore", optional(text()))) )(Ldap.apply)) diff --git a/src/main/scala/service/AccountService.scala b/src/main/scala/service/AccountService.scala index 1b021ea..d248c89 100644 --- a/src/main/scala/service/AccountService.scala +++ b/src/main/scala/service/AccountService.scala @@ -40,7 +40,7 @@ // Create or update account by LDAP information getAccountByUserName(userName, true) match { case Some(x) if(!x.isRemoved) => { - if(settings.ldap.get.disableMailResolve.getOrElse(false)) { + if(settings.ldap.get.mailAttribute.getOrElse("").isEmpty) { updateAccount(x.copy(fullName = ldapUserInfo.fullName)) } else { updateAccount(x.copy(mailAddress = ldapUserInfo.mailAddress, fullName = ldapUserInfo.fullName)) diff --git a/src/main/scala/service/SystemSettingsService.scala b/src/main/scala/service/SystemSettingsService.scala index 7bc171b..df27bb7 100644 --- a/src/main/scala/service/SystemSettingsService.scala +++ b/src/main/scala/service/SystemSettingsService.scala @@ -41,8 +41,7 @@ props.setProperty(LdapUserNameAttribute, ldap.userNameAttribute) ldap.additionalFilterCondition.foreach(x => props.setProperty(LdapAdditionalFilterCondition, x)) ldap.fullNameAttribute.foreach(x => props.setProperty(LdapFullNameAttribute, x)) - props.setProperty(LdapMailAddressAttribute, ldap.mailAttribute) - ldap.disableMailResolve.foreach(x => props.setProperty(LdapDisableMailResolve, x.toString)) + ldap.mailAttribute.foreach(x => props.setProperty(LdapMailAddressAttribute, x.toString)) ldap.tls.foreach(x => props.setProperty(LdapTls, x.toString)) ldap.keystore.foreach(x => props.setProperty(LdapKeystore, x)) } @@ -85,8 +84,7 @@ getValue(props, LdapUserNameAttribute, ""), getOptionValue(props, LdapAdditionalFilterCondition, None), getOptionValue(props, LdapFullNameAttribute, None), - getValue(props, LdapMailAddressAttribute, ""), - getOptionValue[Boolean](props, LdapDisableMailResolve, None), + getOptionValue(props, LdapMailAddressAttribute, None), getOptionValue[Boolean](props, LdapTls, None), getOptionValue(props, LdapKeystore, None))) } else { @@ -119,8 +117,7 @@ userNameAttribute: String, additionalFilterCondition: Option[String], fullNameAttribute: Option[String], - mailAttribute: String, - disableMailResolve: Option[Boolean], + mailAttribute: Option[String], tls: Option[Boolean], keystore: Option[String]) @@ -157,7 +154,6 @@ private val LdapAdditionalFilterCondition = "ldap.additional_filter_condition" private val LdapFullNameAttribute = "ldap.fullname_attribute" private val LdapMailAddressAttribute = "ldap.mail_attribute" - private val LdapDisableMailResolve = "ldap.disable_mail_resolve" private val LdapTls = "ldap.tls" private val LdapKeystore = "ldap.keystore" diff --git a/src/main/scala/util/LDAPUtil.scala b/src/main/scala/util/LDAPUtil.scala index 9f23919..110b405 100644 --- a/src/main/scala/util/LDAPUtil.scala +++ b/src/main/scala/util/LDAPUtil.scala @@ -47,7 +47,7 @@ keystore = ldapSettings.keystore.getOrElse(""), error = "User LDAP Authentication Failed." ){ conn => - if(ldapSettings.disableMailResolve.getOrElse(false)) { + if(ldapSettings.mailAttribute.getOrElse("").isEmpty) { Right(LDAPUserInfo( userName = userName, fullName = ldapSettings.fullNameAttribute.flatMap { fullNameAttribute => @@ -55,7 +55,7 @@ }.getOrElse(userName), mailAddress = AccountUtil.getLdapDummyMailAddress(userName))) } else { - findMailAddress(conn, userDN, ldapSettings.mailAttribute) match { + findMailAddress(conn, userDN, ldapSettings.mailAttribute.get) match { case Some(mailAddress) => Right(LDAPUserInfo( userName = userName, fullName = ldapSettings.fullNameAttribute.flatMap { fullNameAttribute => diff --git a/src/main/twirl/admin/system.scala.html b/src/main/twirl/admin/system.scala.html index dbd7daf..8e52c8d 100644 --- a/src/main/twirl/admin/system.scala.html +++ b/src/main/twirl/admin/system.scala.html @@ -133,13 +133,6 @@