# itcalendar **Repository Path**: duanhaowei/itcalendar ## Basic Information - **Project Name**: itcalendar - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-03 - **Last Updated**: 2024-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 示例pcdemo项目 基于k8s+Istio+springboot+vue 的桌面端架构的代码示例 ------ _we work hard , play harder ._ ### 基本说明 + 其实就是一个springboot项目在lds容器环境中运行的例子。最初是作为纯粹的手机端版本进行构建。后期逐步考虑加入pc端环境的支持。 + 前后端分离项目springboot + vue 使用 spring security进行权限管理。 + 权限部分使用标准jwt进行授权和鉴权,跳转请求则会读取cookie中保存的jwt,这一且都是框架自动处理。业务逻辑不会受到影响。 ### 怎么使用 除了/n/** 路径 和 静态资源文件 之外 , 所有拦截请求都会收到权限管理 项目不能有 servlet-path,简单的说就是 要http://localhost/page1/xxx 而不是http://localhost/pcdemo/page1/xxx 在涉及到调用 k8s集群内其他的服务 的时候,需要传入headers,以便平台执行链路追踪。非强制,但最好一律都传,外部服务传一下也方便出入统计。 ```sh @RequestMapping("/myrpc") JSONObject addHeader(@RequestHeader HttpHeaders headers) throws URISyntaxException, IOException, InterruptedException { JSONObject jsonObject = rpc.get(headers, "http://userinfo/getteaminfo", null, JSONObject.class); return jsonObject; } ``` **除此之外没有任何耦合和限制,项目轻量便捷是唯一的设计目标。** ### CAS的支持 k8s-deploy.yml中环境变量注入CASJUMPURL为指向ldscas的使用地址。 就是写提供单点登录的ldscas服务的访问地址如: https://lsp.leedarson.com/ldscas/cas ~-如何生成:~ ~如项目实际地址为:https://lsptest.leedarson.com/xdemo/m~ ~删除线的内容已经过时了,不用看~ ~~则进行base64编码得到 aHR0cHM6Ly9sc3B0ZXN0LmxlZWRhcnNvbi5jb20veGRlbW8vbQ==~~ ~~加入ldscas前缀为~~ ~~https://lsptest.leedarson.com/ldscas/cas/aHR0cHM6Ly9sc3B0ZXN0LmxlZWRhcnNvbi5jb20veGRlbW8vbQ==~~ 该地址配置进k8s-deploy.yml中的 CASJUMPURL 浏览器访问任意需要权限的地址比如更页面 https://lsptest.leedarson.com/pcdemo/hi 就可以进行单点登陆 单点登出的按钮使用url CAS登出 即可 ### 授权 ~~项目中包括测试用publickey和privatekey,正式用publickey。~~ ~~测试环境的deploy文件请删掉~~ ~~volumeMounts内容。正式环境需要保留,且注入secret~~ 项目默认使用正式环境的public.key。因此在开发环境下,请注入 PROFILE = dev 的环境变量,系统会自动切换到testpublic.key 否则会报授权错误 开发环境下使用 http://172.16.168.33/n/cookie/add?lcpcode=duanhaowei 进行身份信息的注入,这样信息写入cookie就可以实现身份。 【正式环境一定要作废掉】 ### 待办工作 - [x] RPC功能测试 - [x] CAS功能集成 - [ ] 后端持久层技术更新 - mybatis #{}使用失败 - [ ] 前端持久层技术更新 ### 参考文档 - https://gitee.com/duanhaowei/xuanyuan/tree/master/stiletto - https://gitee.com/duanhaowei/xuanyuan/tree/master/ldscas - https://spring.io/projects/spring-boot ### 备忘