# jlf **Repository Path**: flyelf/jlf ## Basic Information - **Project Name**: jlf - **Description**: 基于java的低代码开发框架:java17,spring cloud 4.0.3, spring boot 3.1.1, spring alibaba 2022.0.0.0-RC2, spring security 6.1 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-14 - **Last Updated**: 2025-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JLF (4th generation java lower framework —— 第4代基于java的低代码开发框架) 环境: jdk17 gradle7.4 本框架基于: spring cloud 2022.0.3 mybatis-plus ## starter-openapi 集成openapi,访问:http://ip:port/swagger-ui.html ## osp —— 对象存储代理(object storage proxy) 支持对象存储S3协议,目前常用的对象存储服务由: oss(阿里云) obs(华为云) cos(腾讯云) kodo(七牛云) nos(网易云) minio ## app-authorization 统一授权、鉴权服务 授权:即用户登录,授予当前登录终端使用的权限 鉴权:用户登录后,对于当前登录终端的功能是否有权限进行校验 ### 授权方式 1、账号+密码 2、账号+手机/邮箱+验证码 3、账号+动态口令 4、支持图形验证码 5、支持多次授权失败锁定、到期自动解锁、手动解锁 6、支持刷新令牌换授权令牌进行延期 7、支持手动踢出下线 8、支持账号限制单一登录 9、支持限制账号允许授权的终端 10、支持临时二次授权 11、支持websocket通知在线:踢出通知、锁定通知等 ### 鉴权 1、支持基于rbac的鉴权模式 2、支持基于固定角色的鉴权模式 3、支持对需要二次授权的进行鉴权 ### 持久化 1、支持根据各个业务的不同应用,直接连接相应的数据库读取用户进行授权和鉴权 2、支持调用各个业务的用户接口获取用户数据进行授权和鉴权 ## 术语 principal 主角,当事人 identity 身份 account 账号 credentials 凭证,例如:密码,验证码等 OAuth 2.0 是一个授权框架,使应用程序能够获得对 HTTP 服务上用户帐户的有限访问权限,例如 Facebook、GitHub 和 DigitalOcean。它通过将用户认证委托给托管用户帐户的服务,并授权第三方应用程序访问用户帐户来实现。 OIDC(OpenID Connect )是建立在 OAuth 2.0 框架之上的简单身份层。它在 OAuth 2.0 提供的授权的基础上添加了认证 eu(end user)终端用户, oidc术语 ro(resource owner)终端用户, oauth2术语,资源持有者 rp(relying party)客户端,指前端,oidc术语,应用/客户端 client(third-party application)客户端,指前端,oauth2术语,应用/客户端 rs(resource server)资源服务,指业务微服务 endpoint:端点,即微服务提供的接口 op(openid provider)认证服务器,oidc术语 as(authorization server)认证服务,oauth2术语 ## 特别备注说明 ### validation变更 #### 引用依赖变更 从:javax.validation:validation-api变更为:jakarta.validation:jakarta.validation-api 否则,@NotBlank @Valid 等校验注解将不生效 该校验器新增支持了: #### @Email @Email:校验邮箱格式 #### @Digits @Digits:限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fractionExample: @Digits(integer=10, fraction = 2) #### @Positive @Positive:限制元素为正数.零值被视为无效 #### @PositiveOrZero @PositiveOrZero:限制元素为正数或者零值 #### @Negative @Negative:限制元素为负数.零值被认为无效 #### @NegativeOrZero @NegativeOrZero:限制元素为负数或者零值 #### @Size @Size:限制字符长度必须在min到max之间 #### @Past @Past:限制必须是一个过去的日期 #### @PastOrPresent @PastOrPresent:限制必须是一个过去的日期或者当前的日期 #### @Future @Future:限制必须是一个将来的日期 #### @FutureOrPresent @FutureOrPresent:限制必须是一个将来的日期或者当前的日期 #### @AssertTrue @AssertTrue:限制必须为true #### @AssertFalse @AssertFalse:限制必须为false #### @Pattern @Pattern:正则表达式 #### @Null @Null:限制必须为null #### @DecimalMin @DecimalMin:限制实数的最小值,必须是大于或者等于该最小值 #### @DecimalMax @DecimalMax:限制实数的最大值,必须是小于或者等于该最大值 深入字节码操作:使用ASM和Javassist创建审核日志 https://blog.csdn.net/lihenair/article/details/69948918 java -cp "/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk/Contents/Home/lib/sa-jdi.jar" -Dsun.jvm.hotspot.tools.jcore.filter=sun.jvm.hotspot.tools.jcore.PackageNameFilter -Dsun.jvm.hotspot.tools.jcore.PackageNameFilter.pkgList=com.demo.auto.entity.criteria sun.jvm.hotspot.tools.jcore.ClassDump 13600 https://blog.csdn.net/sjdl9396/article/details/125262443 https://toscode.mulanos.cn/zhengqinghua/sa-token 授权码模式+PKCE https://zhuanlan.zhihu.com/p/622039176