diff --git a/distribution/conf/create_mysql_table.sql b/distribution/conf/create_mysql_table.sql
index 05a99278..f859d752 100644
--- a/distribution/conf/create_mysql_table.sql
+++ b/distribution/conf/create_mysql_table.sql
@@ -13,12 +13,12 @@ CREATE TABLE `account` (
`username` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '用户名',
`password` varchar(128) NOT NULL DEFAULT '' COMMENT '密码',
`role` tinyint(8) NOT NULL DEFAULT '0' COMMENT '角色类型, 0:普通用户 1:研发 2:运维',
+ `department` varchar(256) DEFAULT '' COMMENT '部门名',
+ `display_name` varchar(256) DEFAULT '' COMMENT '用户姓名',
+ `mail` varchar(256) DEFAULT '' COMMENT '邮箱',
`status` int(16) NOT NULL DEFAULT '0' COMMENT '0标识使用中,-1标识已废弃',
`gmt_create` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modify` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
- `department` varchar(128) DEFAULT '' COMMENT '部门名',
- `display_name` varchar(128) DEFAULT '' COMMENT '用户姓名',
- `mail` varchar(128) DEFAULT '' COMMENT '邮箱',
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='账号表';
diff --git a/distribution/upgrade_config.md b/distribution/upgrade_config.md
index 5f976042..06eb01b1 100644
--- a/distribution/upgrade_config.md
+++ b/distribution/upgrade_config.md
@@ -39,4 +39,14 @@ ALTER TABLE `gateway_config`
ADD COLUMN `description` TEXT NULL COMMENT '描述信息' AFTER `version`;
```
+### 升级至`2.6.0`版本
+#### 1.mysql变更
+`2.6.0`版本在`account`表增加用户姓名,部门名,邮箱三个字段,因此需要执行下面的sql进行字段的增加。
+
+```sql
+ALTER TABLE `account`
+ADD COLUMN `display_name` VARCHAR(256) NOT NULL DEFAULT '' COMMENT '用户名' AFTER `role`,
+ADD COLUMN `department` VARCHAR(256) NOT NULL DEFAULT '' COMMENT '部门名' AFTER `display_name`,
+ADD COLUMN `mail` VARCHAR(256) NOT NULL DEFAULT '' COMMENT '邮箱' AFTER `department`;
+```
diff --git a/docs/dev_guide/upgrade_manual/logi-km-v2.2.0.md b/docs/dev_guide/upgrade_manual/logi-km-v2.2.0.md
deleted file mode 100644
index 96622080..00000000
--- a/docs/dev_guide/upgrade_manual/logi-km-v2.2.0.md
+++ /dev/null
@@ -1,27 +0,0 @@
-
----
-
-
-
-**一站式`Apache Kafka`集群指标监控与运维管控平台**
-
----
-
-# 升级至`2.2.0`版本
-
-`2.2.0`版本在`cluster`表及`logical_cluster`各增加了一个字段,因此需要执行下面的sql进行字段的增加。
-
-```sql
-# 往cluster表中增加jmx_properties字段, 这个字段会用于存储jmx相关的认证以及配置信息
-ALTER TABLE `cluster` ADD COLUMN `jmx_properties` TEXT NULL COMMENT 'JMX配置' AFTER `security_properties`;
-
-# 往logical_cluster中增加identification字段, 同时数据和原先name数据相同, 最后增加一个唯一键.
-# 此后, name字段还是表示集群名称, 而identification字段表示的是集群标识, 只能是字母数字及下划线组成,
-# 数据上报到监控系统时, 集群这个标识采用的字段就是identification字段, 之前使用的是name字段.
-ALTER TABLE `logical_cluster` ADD COLUMN `identification` VARCHAR(192) NOT NULL DEFAULT '' COMMENT '逻辑集群标识' AFTER `name`;
-
-UPDATE `logical_cluster` SET `identification`=`name` WHERE id>=0;
-
-ALTER TABLE `logical_cluster` ADD INDEX `uniq_identification` (`identification` ASC);
-```
-
diff --git a/docs/dev_guide/upgrade_manual/logi-km-v2.3.0.md b/docs/dev_guide/upgrade_manual/logi-km-v2.3.0.md
deleted file mode 100644
index 3a4196f8..00000000
--- a/docs/dev_guide/upgrade_manual/logi-km-v2.3.0.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
----
-
-
-
-**一站式`Apache Kafka`集群指标监控与运维管控平台**
-
----
-
-# 升级至`2.3.0`版本
-
-`2.3.0`版本在`gateway_config`表增加了一个描述说明的字段,因此需要执行下面的sql进行字段的增加。
-
-```sql
-ALTER TABLE `gateway_config`
-ADD COLUMN `description` TEXT NULL COMMENT '描述信息' AFTER `version`;
-```
diff --git a/kafka-manager-dao/src/main/resources/mapper/AccountDao.xml b/kafka-manager-dao/src/main/resources/mapper/AccountDao.xml
index 3401ae75..299d120b 100644
--- a/kafka-manager-dao/src/main/resources/mapper/AccountDao.xml
+++ b/kafka-manager-dao/src/main/resources/mapper/AccountDao.xml
@@ -8,11 +8,11 @@
+
+
+
-
-
-
diff --git a/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java b/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java
index 3683b193..a0309cb6 100644
--- a/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java
+++ b/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java
@@ -58,6 +58,7 @@ public class BaseSessionSignOn extends AbstractSingleSignOn {
if(ValidateUtils.isNull(ldapAttrsInfo)){
return Result.buildFrom(ResultStatus.LDAP_AUTHENTICATION_FAILED);
}
+
//LDAP验证通过,拿LDAP的sAMAccountName替换dto对象的值,便于第一次自动注册采用LDAP值,并且第二次也避免REPLACE
dto.setUsername(ldapAttrsInfo.get("sAMAccountName").toString());
accountResult = accountService.getAccountDO(dto.getUsername());
@@ -68,9 +69,9 @@ public class BaseSessionSignOn extends AbstractSingleSignOn {
accountDO.setUsername(dto.getUsername());
accountDO.setRole(AccountRoleEnum.getUserRoleEnum(authUserRegistrationRole).getRole());
accountDO.setPassword(dto.getPassword());
- accountDO.setDisplayName(ldapAttrsInfo.get("displayName").toString());
- accountDO.setDepartment(ldapAttrsInfo.get("department").toString());
- accountDO.setMail(ldapAttrsInfo.get("mail").toString());
+ accountDO.setDisplayName(ldapAttrsInfo.getOrDefault("displayName", "").toString());
+ accountDO.setDepartment(ldapAttrsInfo.getOrDefault("department", "").toString());
+ accountDO.setMail(ldapAttrsInfo.getOrDefault("mail", "").toString());
accountService.createAccount(accountDO);
}
diff --git a/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/converters/AccountConverter.java b/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/converters/AccountConverter.java
index b774a718..d1ce32c2 100644
--- a/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/converters/AccountConverter.java
+++ b/kafka-manager-web/src/main/java/com/xiaojukeji/kafka/manager/web/converters/AccountConverter.java
@@ -13,14 +13,19 @@ import java.util.List;
* @date 19/5/3
*/
public class AccountConverter {
+ private AccountConverter() {
+ }
+
public static AccountDO convert2AccountDO(AccountDTO dto) {
AccountDO accountDO = new AccountDO();
accountDO.setUsername(dto.getUsername());
accountDO.setPassword(dto.getPassword());
accountDO.setRole(dto.getRole());
- accountDO.setDepartment(dto.getDepartment());
- accountDO.setMail(dto.getMail());
- accountDO.setDisplayName(dto.getDisplayName());
+
+ // 兼容前端未传这些信息的情况
+ accountDO.setDepartment(dto.getDepartment() == null? "": dto.getDepartment());
+ accountDO.setMail(dto.getMail() == null? "": dto.getMail());
+ accountDO.setDisplayName(dto.getDisplayName() == null? "": dto.getDisplayName());
return accountDO;
}