refactor(account): 将密码登录禁用逻辑从控制器移到视图层

- 移除 AccountController 中的密码登录重定向逻辑
- 在 Login.cshtml 视图中添加 DisablePasswordLogin 和 SSO 配置检测
- 根据配置动态显示 SSO 登录或常规登录表单
- 当禁用密码登录时显示 SSO 单点登录按钮
- 移除退出登录时的密码登录禁用判断逻辑
This commit is contained in:
hjhan
2026-03-23 11:20:33 +08:00
parent 17c2a7e396
commit 8dc0205016
2 changed files with 62 additions and 60 deletions
+2 -21
View File
@@ -60,17 +60,8 @@ namespace YLErp.Web.Controllers
var strictAuthorize = PS.Config.ErpElement.StrictAuthorize;
logger.Info($"[登录页面] 配置检查 - DisablePasswordLogin: {disablePasswordLogin}, StrictAuthorize: {strictAuthorize}, Company: {PS.Config.Company}");
if (disablePasswordLogin)
{
var ssoUrl = YLErp.Web.Models.GeneralSSOConfig.AuthUrl;
logger.Info($"[登录页面] 密码登录已禁用,准备跳转到SSO: {ssoUrl}");
if (!string.IsNullOrEmpty(ssoUrl))
{
return Redirect(ssoUrl);
}
logger.Error($"[登录页面] SSO地址未配置,无法跳转");
return Content("SSO登录未配置,请联系管理员");
}
// 注意:DisablePasswordLogin 的逻辑在 Login.cshtml 视图中处理
// 这里不再直接跳转,而是显示登录页,由页面决定显示什么内容
return LoginError(null);
}
@@ -335,16 +326,6 @@ namespace YLErp.Web.Controllers
}
}
// 如果禁用了密码登录,显示退出页面(避免循环跳转到SSO)
var disablePasswordLogin = PS.Config.ErpElement.DisablePasswordLogin;
logger.Info($"[退出登录] 跳转判断 - DisablePasswordLogin: {disablePasswordLogin}, SsoLoginConfig.SSO_Enable: {SsoLoginConfig.SSO_Enable}");
if (disablePasswordLogin)
{
logger.Info($"[退出登录] 密码登录已禁用,返回LogOut视图");
return View("LogOut");
}
logger.Info($"[退出登录] 跳转到登录页");
return RedirectToAction("Login");
}