c# - 未经身份验证的用户被重定向到 mysitedomain/projectfolder 而不是 mysitedomain/projectfolder/master/login。.net mvc
问题描述
所以我在托管 iis 的应用程序中遇到问题,目前我们只有在 iis 上托管的 webforms 应用程序,我们已经创建了我上传的 asp.mvc 项目mysite/projectfolder/
。每当用户输入无效的用户 ID 和密码时,它会将用户重定向到mysite/projectfolder/
而不是mysite/projectfolder/master/login
,我们是否需要为 MVC 项目单独配置 iis?
MasterController中的登录代码:
[AllowAnonymous]
[Route("Login")]
public ActionResult Login()
{
Session.Abandon();
Login userLogin = new Login();
return View(userLogin);
}
Code For RouteConfig:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Master", action = "Login", id = UrlParameter.Optional }
);
}
}
POST Method:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(Login userLogin)
{
if ((userLogin.userName != "" && userLogin.userPassword != "") && (userLogin.userName != null && userLogin.userPassword != null))
{
/*userLogin.userName = form["userName"];
userLogin.userPassword = form["userPassword"];*/
SqlCommand cmd = await Task.Run(()=> objMasterOperation.checkUserCredentials(userLogin));
ar = Array.CreateInstance(System.Type.GetType("System.String"), 2, 3);
ar.SetValue(cmd.Parameters["@MSG"].Value, 0, 0);
ar.SetValue(cmd.Parameters["@IsCritical"].Value.ToString(), 0, 1);
string KyUserID = cmd.Parameters["@KyUserID"].Value.ToString();
string Level = cmd.Parameters["@Level"].Value.ToString();
if (ar.GetValue(0, 1).ToString() == "True")
{
Session.Add("UserID", userLogin.userName);
Session.Add("KyUserID", KyUserID.ToString().Trim());
Session.Add("Level", Level.ToString().Trim());
Session.Add("UserEmailID", cmd.Parameters["@EmailID"].Value.ToString());
ViewBag.ErrorMsg = ar.GetValue(0, 0).ToString();
}
else
{
userLogin.errorMessage = ar.GetValue(0, 0).ToString();
return View("Login","_LayoutLogin",userLogin);
}
}
else
{
userLogin.errorMessage = "Please enter userid and password";
return View("Login", "_LayoutLogin", userLogin);
}
return RedirectToAction("Home", "Master");
}
解决方案
推荐阅读
- java - 我们可以在一个项目中拥有多个 Spring 配置文件吗?
- field - 如何在 ARC GIS Pro 中使用 if-then 条件语句替换属性表中的观察值
- sql - SQL Server - 迁移到内存表期间出现内存配额错误
- html - 将文本链接到 ASP.NET MVC 中的另一个页面
- node.js - TypeError:无法读取未定义的属性“事实”
- mysql - 只从右连接mysql获取一个数据
- python-3.x - 有没有一种简单的方法可以将 Oange3 与 Nvidia GPU 一起使用?
- android - 如何在 Kotlin 的 ble 扫描过滤器中使用设备名称
- git - 避免 vscodes 工作区父文件夹显示更改的文件,包括来自存储库选项卡中特定子文件夹的文件
- html - 屏幕变小时菜单栏不可见