From 3b9cbbb23c3fcc81c96fb7c6d2582302b73e6147 Mon Sep 17 00:00:00 2001 From: Github_lizhw <171332584@qq.com> Date: Wed, 1 Jan 2025 21:39:10 +0800 Subject: [PATCH] saas sso --- ruoyi-site/ruoyi-sso-server/Dockerfile | 2 +- .../src/main/resources/application-local.yml | 146 ++++++++++++++++++ .../src/main/resources/application.yml | 4 + 3 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 ruoyi-site/ruoyi-sso-server/src/main/resources/application-local.yml diff --git a/ruoyi-site/ruoyi-sso-server/Dockerfile b/ruoyi-site/ruoyi-sso-server/Dockerfile index 5caf3ac6c..8ef6a2f3d 100644 --- a/ruoyi-site/ruoyi-sso-server/Dockerfile +++ b/ruoyi-site/ruoyi-sso-server/Dockerfile @@ -3,7 +3,7 @@ FROM bellsoft/liberica-openjdk-debian:17.0.11-cds #FROM bellsoft/liberica-openjdk-debian:21.0.3-cds #FROM findepi/graalvm:java17-native -LABEL maintainer="Lion Li" +LABEL maintainer="lizhw" RUN mkdir -p /ruoyi/server/logs \ /ruoyi/server/temp \ diff --git a/ruoyi-site/ruoyi-sso-server/src/main/resources/application-local.yml b/ruoyi-site/ruoyi-sso-server/src/main/resources/application-local.yml new file mode 100644 index 000000000..1d03ec083 --- /dev/null +++ b/ruoyi-site/ruoyi-sso-server/src/main/resources/application-local.yml @@ -0,0 +1,146 @@ +# 端口 +server: + port: 19000 + +spring: + application: + name: ruoyi-sso-server + # Redis配置 (SSO模式一和模式二使用Redis来同步会话) + data: + redis: + # Redis数据库索引(默认为0) + database: 0 + # Redis服务器地址 + host: redis + # Redis服务器连接端口 + port: 6379 + # Redis服务器连接密码(默认为空) + password: Lzw8800580/ + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池最大连接数 + max-active: 200 + # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + # 连接池中的最大空闲连接 + max-idle: 10 + # 连接池中的最小空闲连接 + min-idle: 0 + cloud: + nacos: + discovery: + server-addr: http://nacos-registry:8848 + +# Sa-Token配置 +sa-token: + # 允许动态设置 token 有效期 + dynamic-active-timeout: true + # 允许从 请求参数 读取 token + is-read-body: true + sign: + # API 接口签名秘钥 (随便乱摁几个字母即可) + secret-key: kQwIOrYbtXmSDkwEiFngrKidMcdrgKor + # 读写同源,开启后每次访问都会自动续期 + # token名称 (同时也是cookie名称) + token-name: Authorization + # cookie写入 必须关掉,cookie 有安全隐患 + is-read-cookie: false + # 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录) + is-concurrent: true + # 在多人登录同一账号时,是否共用一个token (为true(默认)时所有登录共用一个token, 为false时每次登录新建一个token),这个为false会导致登陆多次后redis内存的token不能很好释放 + is-share: true + # jwt秘钥 + jwt-secret-key: abcdcosctlklmnopqrstuvwxyz + + # ------- SSO-模式二相关配置 + sso-server: + # Ticket有效期 (单位: 秒),默认五分钟 + ticket-timeout: 300 + # 所有允许的授权回调地址 TODO 生产和测试一定要改 + allow-url: "*" + + auth-url: http://localhost:5173/#/sso-login + active-timeout: 30 + + +# api接口加密 +api-decrypt: + # 是否开启全局接口加密 + enabled: true + # AES 加密头标识 + headerFlag: encrypt-key + # 响应加密公钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换 + # 对应前端解密私钥 MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAmc3CuPiGL/LcIIm7zryCEIbl1SPzBkr75E2VMtxegyZ1lYRD+7TZGAPkvIsBcaMs6Nsy0L78n2qh+lIZMpLH8wIDAQABAkEAk82Mhz0tlv6IVCyIcw/s3f0E+WLmtPFyR9/WtV3Y5aaejUkU60JpX4m5xNR2VaqOLTZAYjW8Wy0aXr3zYIhhQQIhAMfqR9oFdYw1J9SsNc+CrhugAvKTi0+BF6VoL6psWhvbAiEAxPPNTmrkmrXwdm/pQQu3UOQmc2vCZ5tiKpW10CgJi8kCIFGkL6utxw93Ncj4exE/gPLvKcT+1Emnoox+O9kRXss5AiAMtYLJDaLEzPrAWcZeeSgSIzbL+ecokmFKSDDcRske6QIgSMkHedwND1olF8vlKsJUGK3BcdtM8w4Xq7BpSBwsloE= + publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnNwrj4hi/y3CCJu868ghCG5dUj8wZK++RNlTLcXoMmdZWEQ/u02RgD5LyLAXGjLOjbMtC+/J9qofpSGTKSx/MCAwEAAQ== + # 请求解密私钥 非对称算法的公私钥 如:SM2,RSA 使用者请自行更换 + # 对应前端加密公钥 MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ== + privateKey: MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAqhHyZfSsYourNxaY7Nt+PrgrxkiA50efORdI5U5lsW79MmFnusUA355oaSXcLhu5xxB38SMSyP2KvuKNPuH3owIDAQABAkAfoiLyL+Z4lf4Myxk6xUDgLaWGximj20CUf+5BKKnlrK+Ed8gAkM0HqoTt2UZwA5E2MzS4EI2gjfQhz5X28uqxAiEA3wNFxfrCZlSZHb0gn2zDpWowcSxQAgiCstxGUoOqlW8CIQDDOerGKH5OmCJ4Z21v+F25WaHYPxCFMvwxpcw99EcvDQIgIdhDTIqD2jfYjPTY8Jj3EDGPbH2HHuffvflECt3Ek60CIQCFRlCkHpi7hthhYhovyloRYsM+IS9h/0BzlEAuO0ktMQIgSPT3aFAgJYwKpqRYKlLDVcflZFCKY7u3UP8iWi1Qw0Y= + + +# ruoyi-security配置 +security: + captcha: + enabled: true + # 页面 <参数设置> 可开启关闭 验证码校验 + # 验证码类型 math 数组计算 char 字符验证 + type: MATH + # line 线段干扰 circle 圆圈干扰 shear 扭曲干扰 + category: CIRCLE + # 数字验证码位数 + numberLength: 1 + # 字符验证码长度 + charLength: 4 + + # 排除路径 + excludes: + # 静态资源 + - /*.html + - /**/*.html + - /**/*.css + - /**/*.js + # 公共路径 + - /favicon.ico + - /error + - /sso/auth + - /sso/doLogin + # swagger 文档配置 + - /*/api-docs + - /*/api-docs/** + - /sso/signout + +# dubbo +dubbo: + config: + protocol: + name: tri + port: 20880 + application: + qos-enable: false + logger: slf4j + name: ${spring.application.name} + # 注册中心配置 + registry: + address: nacos://nacos-registry:8848 + group: DUBBO_GROUP + parameters: + namespace: c5c00044-93e6-4e66-8060-3f39aa7ab82b +# metadata-report: +# address: redis://${spring.data.redis.host}:${spring.data.redis.port} +# # 集群开关,目前单机 +# cluster: false +# parameters: +# database: 6 +# timeout: ${spring.data.redis.timeout} + # 消费者相关配置 + consumer: + # 结果缓存(LRU算法) + # 会有数据不一致问题 建议在注解局部开启 + cache: false + # 支持校验注解 + validation: jvalidationNew + # 调用重试 不包括第一次 0为不需要重试 + retries: 0 + # 初始化检查 + check: false diff --git a/ruoyi-site/ruoyi-sso-server/src/main/resources/application.yml b/ruoyi-site/ruoyi-sso-server/src/main/resources/application.yml index 4527109b5..5994d5c14 100644 --- a/ruoyi-site/ruoyi-sso-server/src/main/resources/application.yml +++ b/ruoyi-site/ruoyi-sso-server/src/main/resources/application.yml @@ -28,6 +28,10 @@ spring: max-idle: 10 # 连接池中的最小空闲连接 min-idle: 0 + cloud: + nacos: + discovery: + server-addr: http://127.0.0.1:8848 # Sa-Token配置 sa-token: