diff --git a/docs/devops/index.md b/docs/devops/index.md
index e2ada11b..8f75702b 100755
--- a/docs/devops/index.md
+++ b/docs/devops/index.md
@@ -128,8 +128,8 @@ node server/app.js //启动服务器后,请访问 127.0.0.1:{config.json配置
- `enable` 表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);
- `server ` LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;
-- `baseDn` LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径;
-- `bindPassword` 登录该 LDAP 服务器的密码;
+- `baseDn` LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径(非必须);
+- `bindPassword` 登录该 LDAP 服务器的密码(非必须);
- `searchDn` 查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;
- `searchStandard` 查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换
- `emailPostfix` 登陆邮箱后缀(非必须)
diff --git a/server/controllers/project.js b/server/controllers/project.js
index 08815aa3..6f1be011 100755
--- a/server/controllers/project.js
+++ b/server/controllers/project.js
@@ -257,6 +257,7 @@ class projectController extends baseController {
username: username,
typeid: result._id
});
+ yapi.emitHook('project_add', result).then();
ctx.body = yapi.commons.resReturn(result);
}
@@ -534,7 +535,7 @@ class projectController extends baseController {
}
result.role = await this.getProjectRole(params.id, 'project');
- yapi.emitHook('project_add', params.id).then();
+ yapi.emitHook('project_get', result).then();
ctx.body = yapi.commons.resReturn(result);
}
@@ -826,6 +827,7 @@ class projectController extends baseController {
username: username,
typeid: id
});
+ yapi.emitHook('project_up', result).then();
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
ctx.body = yapi.commons.resReturn(null, 402, e.message);
diff --git a/server/plugin.js b/server/plugin.js
index 8687c042..4b0268b5 100755
--- a/server/plugin.js
+++ b/server/plugin.js
@@ -65,6 +65,14 @@ var hooks = {
type: 'multi',
listener: []
},
+ /**
+ * 客户端更新一个新项目
+ * @param id 项目id
+ */
+ project_up: {
+ type: 'multi',
+ listener: []
+ },
/**
* 客户端删除删除一个项目
* @param id 项目id
diff --git a/static/doc/devops/index.html b/static/doc/devops/index.html
index 33525981..5c8333c5 100644
--- a/static/doc/devops/index.html
+++ b/static/doc/devops/index.html
@@ -119,8 +119,8 @@ yapi update -v v1.1.0 //升级到指定版本
enable
表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);
server
LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;
-baseDn
LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径;
-bindPassword
登录该 LDAP 服务器的密码;
+baseDn
LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径(非必须);
+bindPassword
登录该 LDAP 服务器的密码(非必须);
searchDn
查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;
searchStandard
查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换
emailPostfix
登陆邮箱后缀(非必须)
diff --git a/static/doc/search_json.js b/static/doc/search_json.js
index f303fdaa..951a3b33 100644
--- a/static/doc/search_json.js
+++ b/static/doc/search_json.js
@@ -1603,7 +1603,7 @@ window.ydoc_plugin_search_json = {
{
"title": "配置LDAP登录",
"url": "/devops/index.html#配置ldap登录",
- "content": "配置LDAP登录打开项目目录 config.json 文件,添加如下字段:{ \"port\": \"*****\",\n \"adminAccount\": \"********\",\n \"db\": {...},\n \"mail\": {...},\n \"ldapLogin\": {\n \"enable\": true,\n \"server\": \"ldap://l-ldapt1.ops.dev.cn0.qunar.com\",\n \"baseDn\": \"CN=Admin,CN=Users,DC=test,DC=com\",\n \"bindPassword\": \"password123\",\n \"searchDn\": \"OU=UserContainer,DC=test,DC=com\",\n \"searchStandard\": \"mail\", // 自定义格式: \"searchStandard\": \"&(objectClass=user)(cn=%s)\"\n \"emailPostfix\": \"@163.com\",\n \"emailKey\": \"mail\",\n \"usernameKey\": \"name\"\n }\n}\n\n这里面的配置项含义如下:enable 表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);\nserver LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;\nbaseDn LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径;\nbindPassword 登录该 LDAP 服务器的密码;\nsearchDn 查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;\nsearchStandard 查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换\nemailPostfix 登陆邮箱后缀(非必须)\nemailKey: ldap数据库存放邮箱信息的字段(v1.3.21 新增 非必须)\nusernameKey: ldap数据库存放用户名信息的字段(v1.3.21 新增 非必须)\n重启服务器后,可以在登录页看到如下画面,说明 ladp 配置成功"
+ "content": "配置LDAP登录打开项目目录 config.json 文件,添加如下字段:{ \"port\": \"*****\",\n \"adminAccount\": \"********\",\n \"db\": {...},\n \"mail\": {...},\n \"ldapLogin\": {\n \"enable\": true,\n \"server\": \"ldap://l-ldapt1.ops.dev.cn0.qunar.com\",\n \"baseDn\": \"CN=Admin,CN=Users,DC=test,DC=com\",\n \"bindPassword\": \"password123\",\n \"searchDn\": \"OU=UserContainer,DC=test,DC=com\",\n \"searchStandard\": \"mail\", // 自定义格式: \"searchStandard\": \"&(objectClass=user)(cn=%s)\"\n \"emailPostfix\": \"@163.com\",\n \"emailKey\": \"mail\",\n \"usernameKey\": \"name\"\n }\n}\n\n这里面的配置项含义如下:enable 表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);\nserver LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;\nbaseDn LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径(非必须);\nbindPassword 登录该 LDAP 服务器的密码(非必须);\nsearchDn 查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;\nsearchStandard 查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换\nemailPostfix 登陆邮箱后缀(非必须)\nemailKey: ldap数据库存放邮箱信息的字段(v1.3.21 新增 非必须)\nusernameKey: ldap数据库存放用户名信息的字段(v1.3.21 新增 非必须)\n重启服务器后,可以在登录页看到如下画面,说明 ladp 配置成功"
},
{
"title": "禁止注册",
@@ -1660,7 +1660,7 @@ window.ydoc_plugin_search_json = {
{
"title": "配置LDAP登录",
"url": "/devops/index.html#配置ldap登录",
- "content": "配置LDAP登录打开项目目录 config.json 文件,添加如下字段:{ \"port\": \"*****\",\n \"adminAccount\": \"********\",\n \"db\": {...},\n \"mail\": {...},\n \"ldapLogin\": {\n \"enable\": true,\n \"server\": \"ldap://l-ldapt1.ops.dev.cn0.qunar.com\",\n \"baseDn\": \"CN=Admin,CN=Users,DC=test,DC=com\",\n \"bindPassword\": \"password123\",\n \"searchDn\": \"OU=UserContainer,DC=test,DC=com\",\n \"searchStandard\": \"mail\", // 自定义格式: \"searchStandard\": \"&(objectClass=user)(cn=%s)\"\n \"emailPostfix\": \"@163.com\",\n \"emailKey\": \"mail\",\n \"usernameKey\": \"name\"\n }\n}\n\n这里面的配置项含义如下:enable 表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);\nserver LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;\nbaseDn LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径;\nbindPassword 登录该 LDAP 服务器的密码;\nsearchDn 查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;\nsearchStandard 查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换\nemailPostfix 登陆邮箱后缀(非必须)\nemailKey: ldap数据库存放邮箱信息的字段(v1.3.21 新增 非必须)\nusernameKey: ldap数据库存放用户名信息的字段(v1.3.21 新增 非必须)\n重启服务器后,可以在登录页看到如下画面,说明 ladp 配置成功"
+ "content": "配置LDAP登录打开项目目录 config.json 文件,添加如下字段:{ \"port\": \"*****\",\n \"adminAccount\": \"********\",\n \"db\": {...},\n \"mail\": {...},\n \"ldapLogin\": {\n \"enable\": true,\n \"server\": \"ldap://l-ldapt1.ops.dev.cn0.qunar.com\",\n \"baseDn\": \"CN=Admin,CN=Users,DC=test,DC=com\",\n \"bindPassword\": \"password123\",\n \"searchDn\": \"OU=UserContainer,DC=test,DC=com\",\n \"searchStandard\": \"mail\", // 自定义格式: \"searchStandard\": \"&(objectClass=user)(cn=%s)\"\n \"emailPostfix\": \"@163.com\",\n \"emailKey\": \"mail\",\n \"usernameKey\": \"name\"\n }\n}\n\n这里面的配置项含义如下:enable 表示是否配置 LDAP 登录,true(支持 LDAP登录 )/false(不支持LDAP登录);\nserver LDAP 服务器地址,前面需要加上 ldap:// 前缀,也可以是 ldaps:// 表示是通过 SSL 连接;\nbaseDn LDAP 服务器的登录用户名,必须是从根结点到用户节点的全路径(非必须);\nbindPassword 登录该 LDAP 服务器的密码(非必须);\nsearchDn 查询用户数据的路径,类似数据库中的一张表的地址,注意这里也必须是全路径;\nsearchStandard 查询条件,这里是 mail 表示查询用户信息是通过邮箱信息来查询的。注意,该字段信息与LDAP数据库存储数据的字段相对应,如果如果存储用户邮箱信息的字段是 email, 这里就需要修改成 email.(1.3.18+支持)自定义filter表达式,基本形式为:&(objectClass=user)(cn=%s), 其中%s会被username替换\nemailPostfix 登陆邮箱后缀(非必须)\nemailKey: ldap数据库存放邮箱信息的字段(v1.3.21 新增 非必须)\nusernameKey: ldap数据库存放用户名信息的字段(v1.3.21 新增 非必须)\n重启服务器后,可以在登录页看到如下画面,说明 ladp 配置成功"
},
{
"title": "禁止注册",