更新时间:2024-03-07 GMT+08:00
分享

了解代码结构

OrgID登录功能Demo的代码结构如图1所示。

图1 代码结构
  • deploy_docker为docker部署配置信息。
    ├─deploy_docker
    │  ├─bin
    │  │      configparser                                
    │  │      start.sh                                    ----服务在服务器上的启动脚本
    │  │      
    │  ├─configtemplate                                  
    │  │      application.properties.tmpl                 ----STS域名及微服务STS证书路径
    │  │      application.yml.tmpl                        ----服务器上环境变量配置信息
    │  │      logback-spring.xml.tmpl                     ----logback日志配置
    │  │      meta.txt                                   
    │  │      
    │  └─resources
    │          index.html                                  ----demo应用的静态页面(登录后的首页欢迎页)
    │          login.html                                  ----demo应用的静态页面(登录页,单击按钮跳转登录)
  • lib目录为工程依赖的jar包。
    ├─lib
    │      cloudsoa-security-1.1.14.101.jar
    │      gpaas-middleware-common-2.2.6.100.jar
    │      nuwa-cloudmap-core-1.0.12.100.jar
    │      nuwa-cloudmap-spring-boot-starter-1.0.12.100.jar
    │      nuwa-core-3.1.5.100.jar
    │      rainbow-core-drds-1.2.18.201.jar
    │      rainbow-proxy-1.2.18.102.jar
    │      spring-cloud-starter-cloudmap-discovery-1.0.12.100.jar
    │      sts-key-sdk-1.1.19.100.jar
    │      sts-sdk-base-1.1.19.100.jar
    │      sts-spring-boot-1.1.19.100.jar
  • src目录为项目工程源码目录。
    └─src
        ├─main
        │  ├─config
        │  │      application.properties                                              ----sts域名及微服务sts证书路径(本地启动时配置)
        │  │      application.yml                                                     ----工程的环境变量配置(本地启动时配置)
        │  │      logback-spring.xml                                                  ----logback日志配置
        │  │      
        │  ├─java
        │  │  └─com
        │  │      └─huawei
        │  │          └─demo
        │  │              │  OrgLogin.java                                           ----项目启动类
        │  │              │  
        │  │              ├─filter
        │  │              │      LogRecordPostFilter.java                            ----接口日志过滤器(打印所有请求的异常信息及请求信息)
        │  │              │      
        │  │              └─loginservice
        │  │                  ├─api
        │  │                  │      UserLoginApi.java                               ----接口api定义
        │  │                  │      
        │  │                  ├─config
        │  │                  │      LoginConfig.java                                ----登录拦截器配置(决定对哪些路径放行)
        │  │                  │      RedisConfig.java                                ----Redis数据库连接工具参数配置
        │  │                  │      RestTemplateConfig.java                         ----RestTemplate,http请求参数配置
        │  │                  │      UserLoginInterceptor.java                       ----拦截器拦截逻辑,对未登录用户进行拦截
        │  │                  │      
        │  │                  ├─controller
        │  │                  │      UserLoginController.java                        ----接口实现controller层
        │  │                  │      
        │  │                  ├─domain
        │  │                  │  │  Constance.java                                  ----常量定义
        │  │                  │  │  
        │  │                  │  └─entity
        │  │                  │          BaseResponse.java                           ----基础响应体定义
        │  │                  │          UserInfo.java                               ----Oauth协议登录后,认证源(OrgID)返回的用户信息
        │  │                  │          
        │  │                  ├─service
        │  │                  │      LoginService.java                               ----接口实现service层
        │  │                  │      
        │  │                  └─utils
        │  │                          ApplicationContextUtil.java                     ----上下文获取工具类
        │  │                          JsonUtils.java                                  ----JsonUtils工具类,json串与对象之间的相互转换
        │  │                          JwtUtil.java                                    ----Jwt工具类,用于生成token、解析token信息
        │  │                          RedisUtil.java                                  ----Redis工具类,对Redis数据库做数据操作
  • resources目录,用于存放本地启动时静态资源(欢迎页与登录页html文件),同docker部署时resources目录。
        │  └─resources
        │      └─templates
        │              index.html
        │              login.html

相关文档