跳到主要内容
版本:4.0.x

开发指南

开发工具及相关软件

软件版本备注
JDK17 +JAVA运行及开发工具包
Node.jsv 16.15.0 LTS +Node.js开发工具包
eclipse-jee2022-03 +推荐JAVA开发工具
Visual Studio CodeVersion 1.60 +推荐前端开发工具
MySQL8.0.21 +数据库服务器
Gradle7.2+ 代码构建
Tomcat/tomcat-embed9 +应用服务器(内置)
Kafka2.5.0 +用户生命周期管理同步消息中间件(可选)
RocketMQ4.9.0 +用户生命周期管理同步消息中间件(可选)
Redis6 +高速缓存内存数据库(可选)
OpenLDAP2.2 +企业目录服务器(可选)

程序目录

MaxKey一级目录二级目录三级目录说明
README.md关于MaxKey项目
LICENSEApache License v2许可证
NOTICEMaxKey版权声明
ReleaseNotes.txtGA版本发布记录描述
config构建方式配置Jar,Docker,Standard
maxkey-authentications登录认证
maxkey-authentication-captcha登录认证-验证码
maxkey-authentication-core登录认证-核心功能
maxkey-authentication-otp登录认证-令牌和一次性口令
maxkey-authentication-provider登录认证-认证服务
maxkey-authentication-sms登录认证-短信服务
maxkey-authentication-social登录认证-社交账号
maxkey-common通用基础包和工具类
maxkey-core基础包
maxkey-synchronizers身份同步器
maxkey-synchronizer同步器接口
maxkey-synchronizer-activedirectory微软Active Directory同步器
maxkey-synchronizer-feishu飞书同步器
maxkey-synchronizer-ldap标准LDAP同步器
maxkey-synchronizer-dingtalk钉钉同步器
maxkey-synchronizer-workweixin企业微信同步器
maxkey-lib使用jar包
maxkey-persistence数据库持久化和实时数据同步
maxkey-protocols认证协议实现
maxkey-protocol-authorize认证协议及单点注销实现
maxkey-protocol-casCAS认证协议实现
maxkey-protocol-extendapi扩展API实现
maxkey-protocol-formbasedFormbased实现,桌面认证实现开发浏览器插件实现
maxkey-protocol-jwtJWT实现
maxkey-protocol-oauth-2.0OAuth 2.x,OpenID Connect实现
maxkey-protocol-saml-2.0SAML 2.0实现
maxkey-protocol-tokenbasedtokenbased实现
maxkey-web-apisweb-api接口
maxkey-web-api-restREST身份管理接口
maxkey-web-api-scimSCIM2.0身份管理接口
maxkey-web-frontendweb前端
maxkey-web-app认证服务前端
maxkey-web-mgt-app管理服务前端
maxkey-websweb服务
maxkey-web-maxkey认证系统
maxkey-web-mgt管理系统
maxkey-web-openapi开放API接口
maxkey-gataway基于Spring Cloud套件的网关服务
shellscriptWindow和LINUX启动脚本
sql数据库MYSQL脚本,GA版本对应SQL
checkstyle编码规范配置
build.gradle默认工程构建及版本控制
build_cnf.gradle工程构建配置脚本
gradle.properties版本参数配置
settings.gradle项目引入
gradlegradle的配置
release.bat标准和Jar构建版本
release_docker.batdocker构建版本
setEnvVars.batJDK及Gradle路径配置,开发人员配置
release_cnf_docker.bat构建Docker配置
release_cnf_jar.bat构建Jar配置
release_cnf_standard.bat构建Standard配置

开发环境启动

1)MaxKey统一认证系统

maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/MaxKeyApplication.java

2)MaxKey身份安全管理系统

maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/MaxKeyMgtApplication.java

3)MaxKey统一认证前端

maxkey-web-frontend/maxkey-web-app

yarn start

4)MaxKey身份安全管理前端

maxkey-web-frontend/maxkey-web-mgt-app

yarn start

项目构建

标准构建

1.配置环境变量

setEnvVars.bat

set JAVA_HOME=D:\IDE\jdk-17.0.2.8

set GRADLE_HOME=C:\IDE\gradle-8.0.2

2.启动构建

gradlew build -x test或者release.bat

3.构建结果

构建包路径

MaxKey/build/maxkey-jars

依赖包路径

MaxKey/build/MaxKey-v(version)GA

Docker构建

1.Docker 构建配置

release_cnf_docker.bat

2.启动构建

gradlew build jib -x test或者release_docker.bat

3.构建的结果

maxkey-web-manage/

maxkey-web-maxkey/

SpringBoot构建

1.SpringBoot Jar 构建配置

release_cnf_jar.bat

2.启动构建

gradlew build -x test或者release.bat

3.构建的结果

maxkey-webs/maxkey-web-manage/

maxkey-webs/maxkey-web-maxkey/

前端构建Build

1)MaxKey统一认证前端

maxkey-web-frontend/maxkey-web-app

ng build --prod --base-href /maxkey/

2)MaxKey身份安全管理前端

maxkey-web-frontend/maxkey-web-mgt-app

ng build --prod --base-href /maxkey-mgt/

问题及解决

“A cycle was detected in the build path of project: XXX” 

解决方法:

Eclipse Menu -> Window -> Preferences... -> Java -> Compiler -> Building -> Building path problems -> Circular dependencies -> 将Error改成Warning

问题2

Access restriction

解决方案:

Eclipse Menu -> Window -> Preferences... -> Java -> Compiler -> Errors/Warnings界面的Deprecated and restricted API下。把Forbidden reference (access rules): 的规则由默认的Error改为Warning即可。

问题3

 yarn start
CategoryInfo          : SecurityError: ,PSSecurityException
FullyQualifiedErrorId : UnauthorizedAccess

解决方案:

Set-ExecutionPolicy RemoteSigned -Scope Process