feat: make login land on protected portal

This commit is contained in:
Codex
2026-03-24 17:07:40 +08:00
parent dfbe28a047
commit da1586f6fe
4 changed files with 24 additions and 23 deletions

View File

@@ -155,7 +155,7 @@
<div class="lang-warning" id="heroWarning">登录后才能看到完整课程导航与实验入口。</div>
<div class="hero-actions">
<a class="btn" href="dashboard.action" id="heroActionPrimary">进入仪表盘</a>
<a class="btn-soft" href="loginPage.action" id="heroActionSecondary">立即登录</a>
<a class="btn-soft" href="logout.action" id="heroActionSecondary">退出登录</a>
<button class="btn-ghost" type="button" id="languageBtnHero">EN</button>
</div>
<div class="session-note" id="heroSessionNote">
@@ -240,10 +240,10 @@
text: {
heroEyebrow: "Struts2 学习门户",
heroTitle: "登录之后才能继续学习",
heroDesc: "所有入口都由 Session + AuthInterceptor 保护,未登录将自动跳回登录页。",
heroWarning: "未登录不能访问实验页;登录后可畅玩全部模块。",
heroDesc: "所有入口都由 Session + AuthInterceptor 保护,未登录将自动跳回登录页;登录成功后会先回到这个统一门户。",
heroWarning: "当前门户本身也在登录保护之下,适合用来总览各实验模块。",
heroActionPrimary: "进入仪表盘",
heroActionSecondary: "立即登录",
heroActionSecondary: "退出登录",
portalEyebrow: "学习模块导航",
portalTitle: "分步骤理解 Struts2",
portalDesc: "每个 `.action` 路径都在登录后才能访问Session 鉴权串联整个体验。",
@@ -262,10 +262,10 @@
text: {
heroEyebrow: "Struts2 Learning Portal",
heroTitle: "Login before you explore",
heroDesc: "All modules are protected by Session + AuthInterceptor. Unauthenticated access goes back to login.",
heroWarning: "Access denied until login; dashboard and labs available after authentication.",
heroDesc: "All modules are protected by Session + AuthInterceptor. After login, this protected portal becomes the unified entry.",
heroWarning: "The portal itself is protected and serves as the overview for every lab module.",
heroActionPrimary: "Go to dashboard",
heroActionSecondary: "Login now",
heroActionSecondary: "Log out",
portalEyebrow: "Module guide",
portalTitle: "Step-by-step Struts2",
portalDesc: "Every `.action` route sits behind login; the session chain secures the experience.",