diff --git a/YLErpWeb/Controllers/AccountController.cs b/YLErpWeb/Controllers/AccountController.cs index 1b58e68d..3adc4f8d 100644 --- a/YLErpWeb/Controllers/AccountController.cs +++ b/YLErpWeb/Controllers/AccountController.cs @@ -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"); } diff --git a/YLErpWeb/Views/Account/Login.cshtml b/YLErpWeb/Views/Account/Login.cshtml index 167b9aa4..65bf3b6c 100644 --- a/YLErpWeb/Views/Account/Login.cshtml +++ b/YLErpWeb/Views/Account/Login.cshtml @@ -5,6 +5,8 @@ ViewBag.Title = "登录"; var captchaUrl = Url.Action("Captcha") + "?sid=" + Model.SID; Model.LoadTime = DateTime.Now; + var disablePasswordLogin = PS.Config?.ErpElement?.DisablePasswordLogin ?? false; + var ssoEnable = YLErp.Web.Models.GeneralSSOConfig.Enable; } @@ -54,51 +56,70 @@