C# asp.net mvc 401重定向后出现未经授权的错误
在用户被重定向后,我收到401未经授权的错误。 创建新用户后,用户将被重定向到另一个页面C# asp.net mvc 401重定向后出现未经授权的错误,c#,asp.net-mvc,http,authentication,redirect,C#,Asp.net Mvc,Http,Authentication,Redirect,在用户被重定向后,我收到401未经授权的错误。 创建新用户后,用户将被重定向到另一个页面 public ActionResult SaveUser(UserViewModel userViewModel) { ModelState.Remove("IsDSA"); ModelState.Remove("IsAccountRepresentative"); var savedUser = SaveOrUpdateUser(ref userViewModel);
public ActionResult SaveUser(UserViewModel userViewModel)
{
ModelState.Remove("IsDSA");
ModelState.Remove("IsAccountRepresentative");
var savedUser = SaveOrUpdateUser(ref userViewModel);
TempData["Status"] = ViewBag.Status;
TempData.Keep("Status");
var MenuId = Request.QueryString["MenuID"];
TempData["MenuId"] = MenuId;
TempData.Keep("MenuId");
if (userViewModel.AddAnotherUserRequseted && savedUser != null)
{
return RedirectToAction("CreateNewUser", new { MenuID = Request.QueryString["MenuID"] });
}
return RedirectToAction("UserAccessManagement", "UserAccessManagement", new { MenuID = Request.QueryString["MenuID"] });
}
public ActionResult UserAccessManagement(string TabName, long MenuID)
{
...
}
如何修复此错误?可能是因为身份验证cookie没有随重定向一起发送 这是因为您忘记了控制器上的Authorize属性
[Authorize]
public class UserAccessManagement: Controller {
public ActionResult Index() {
return View();
}
}
这是因为您忘记了控制器上的Authorize属性
[Authorize]
public class UserAccessManagement: Controller {
public ActionResult Index() {
return View();
}
}
因此,经过一整天的调查,我开始怀疑原因可能在Authorize属性或全局筛选器中,并开始思考IIS可能会以某种方式在重定向请求中返回401。但是我发现了其他一些重定向到Action的操作,它们很有效。此外,托管在其他IIS上的版本也存在同样的问题 然后我开始怀疑MVC项目中是否有任何授权配置,而不是默认配置,并在项目“authorize”中搜索,该项目没有给出任何意外的结果 但后来我想到了一个主意,通过搜索所有的解决方案“重定向”短语,我终于找到了问题的根源 因此,在应用程序_EndRequest上,状态代码被设置为401,并且错误类型的请求返回错误
我想搜索“401”也会有帮助,如果这些常量被命名,那么它们早就被找到了。因此,经过一整天的调查,我开始怀疑原因可能在Authorize属性或全局筛选器中,并开始思考IIS可能会在重定向请求中以某种方式返回401。但是我发现了其他一些重定向到Action的操作,它们很有效。此外,托管在其他IIS上的版本也存在同样的问题 然后我开始怀疑MVC项目中是否有任何授权配置,而不是默认配置,并在项目“authorize”中搜索,该项目没有给出任何意外的结果 但后来我想到了一个主意,通过搜索所有的解决方案“重定向”短语,我终于找到了问题的根源 因此,在应用程序_EndRequest上,状态代码被设置为401,并且错误类型的请求返回错误
我想搜索“401”也会有帮助,如果这些常量被命名,它们早就被找到了您在控制器上有任何
[Authorize]
属性吗?调用SaveUser
auth'd的用户是否已授权?@scg控制器上没有属性,调用SaveUser
authorized的用户是否已在控制器上获得任何[authorized]
属性?调用SaveUser
auth'd的用户在控制器上没有属性,调用SaveUser
authorized的用户添加了Authorize属性,但它仍然不工作。顺便说一句,全局过滤器中添加了Authorize属性您的实际场景是什么?您是否正在添加新用户,并且新添加的用户将访问web?场景是用户添加新用户,并在“创建页面”或“使用用户的页面”列表中返回。我猜新用户将要做的与重定向错误无关好的,请将MenuID转换为long,然后传递给新方法。希望它将工作添加到Authorize属性,但它仍然不工作。顺便说一句,全局过滤器中添加了Authorize属性您的实际场景是什么?您是否正在添加新用户,并且新添加的用户将访问web?场景是用户添加新用户,并在“创建页面”或“使用用户的页面”列表中返回。我猜新用户将要做的与重定向错误无关好的,请将MenuID转换为long,然后传递给新方法。希望它能起作用