我正在创建一个电子商务mvc5 Web应用程序。我有一个动作" ListItem"用户可以列出要出售的物品。我创建了一个自定义授权属性,用于检查用户是否处于卖方角色,如果没有,则将用户重定向到设置操作,用户可以在该操作中注册公司名称和taxId等,以添加到卖方角色。 既然用户注册了(并且已添加到卖家角色),我想通过传入"返回将用户重定向到" listItem操作"(用户可以继续并列出他们的项目)网址"到"设置操作"。我不确定这是如何实现的(我对asp.net mvc相当新)有人可以帮帮我吗?感谢。
答案 0 :(得分:0)
现在我想将用户重定向到listItem action
那么为什么不使用像
这样的RedirectToAction()
方法
return RedirectToAction(action, controller);
答案 1 :(得分:0)
重定向到Setup
操作时,请向失败的授权路由数据添加returnUrl
。
例如,覆盖HandleUnauthorizedRequest
中的AuthorizeAttribute
:
public sealed class CompanyMustBeRegisteredAttribute : AuthorizeAttribute
{
public override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
// or filterContext.HttpContext.Request.RawUrl
var returnUrl = filterContext.HttpContext.Request.Url.ToString();
filterContext.Result =
new RedirectToActionResult("Setup", "SetupController", new { returnUrl });
}
}