Files
jczxw-java/iam-api/run.sh
T
gxwebsoft 5e86ebe6b7 feat(auth): 实现统一认证模块及登录策略
- 新增 ApiResult 统一响应封装类,规范前端接口返回结构
- 添加 AuthController,支持多种登录方式及用户信息接口
- 实现 AuthService,包含登录、登出、密码修改、绑定手机号、重置密码等功能
- 集成图形验证码校验和登录失败锁定机制,增强安全性
- 支持邮箱登录和手机号验证码登录,完善多样化认证策略
- 实现 JWT 令牌签发与吊销,确保会话安全管理
- 配置不同环境 application.yml 及配置,支持多租户和灵活缓存配置
- 增加 .gitignore 规则,屏蔽构建产物、IDE 文件和敏感配置
- 引入 AuthProperties 以配置登录与验证码策略参数
2026-09-23 11:59:45 +08:00

62 lines
1.9 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
#
# 开发环境启动脚本。
#
# 项目要求 Java 25(maven.compiler.release=25),系统默认 JDK 可能是 17,
# 直接跑 ./mvnw 会报 "release version 25 not supported",所以这里固定 JDK。
#
# 用法:
# ./run.sh 使用 dev profile(连本地 MySQL / Redis)
# ./run.sh demo 使用 demo profile(H2 + 内存缓存,零外部依赖)
# ./run.sh dev --server.port=8081
# JDK25_HOME=/path/to/jdk ./run.sh
#
set -euo pipefail
JDK25_HOME="${JDK25_HOME:-$HOME/Library/Java/JavaVirtualMachines/temurin-25.jdk}"
# macOS 的 .jdk 是 bundle 结构,真正的 JDK 根目录在 Contents/Home;
# 也兼容直接指向 JDK 根目录的情况。
if [[ -x "$JDK25_HOME/Contents/Home/bin/java" ]]; then
JDK25_HOME="$JDK25_HOME/Contents/Home"
fi
if [[ ! -x "$JDK25_HOME/bin/java" ]]; then
echo "未找到 JDK 25:$JDK25_HOME" >&2
echo "可通过 JDK25_HOME=/path/to/jdk25 ./run.sh 指定其他位置" >&2
exit 1
fi
export JAVA_HOME="$JDK25_HOME"
export PATH="$JAVA_HOME/bin:$PATH"
cd "$(dirname "$0")"
# JDK 23 起 sun.misc.Unsafe 的内存访问方法被标记为「最终弃用」,
# Netty(来自 Lettuce/Redis)内部仍在使用,启动时会打印 WARNING。
APP_JVM_ARGS="${APP_JVM_ARGS:---sun-misc-unsafe-memory-access=allow}"
PROFILE="${1:-dev}"
if [[ "$PROFILE" == "demo" ]]; then
# demo 需要 H2,而 H2 只在 -Pdemo 时是 runtime 依赖
MVN_PROFILE=(-Pdemo)
shift || true
else
MVN_PROFILE=()
shift || true
fi
echo "JDK: $("$JAVA_HOME/bin/java" -version 2>&1 | head -1)"
echo "Profile: $PROFILE"
if [[ $# -gt 0 ]]; then
exec ./mvnw -q "${MVN_PROFILE[@]}" spring-boot:run \
-Dspring-boot.run.profiles="$PROFILE" \
-Dspring-boot.run.jvmArguments="$APP_JVM_ARGS" \
-Dspring-boot.run.arguments="$*"
fi
exec ./mvnw -q "${MVN_PROFILE[@]}" spring-boot:run \
-Dspring-boot.run.profiles="$PROFILE" \
-Dspring-boot.run.jvmArguments="$APP_JVM_ARGS"