[英]How to substitute ReturnUrl for certain action in asp.net mvc
I would like to have different ReturnUrl
for certain action in my ASP.NET MVC controller. 我想在ASP.NET MVC控制器中对某些操作使用不同的ReturnUrl
。 Controller have Authorize attribute and OnEndRequest
handler do the work for adding ReturnUrl
to not authorized requests like so: 控制器具有Authorize属性, OnEndRequest
处理程序完成将ReturnUrl
添加到未授权请求的工作,如下所示:
protected override void OnEndRequest(object sender, EventArgs args)
{
HttpApplication app = (HttpApplication)sender;
var location = resp.RedirectLocation;
...
}
Then location
will be used as value for ReturnUrl
parameter. 然后, location
将用作ReturnUrl
参数的值。
The question: Is it possible, in some elegant way like some attribute on action, substitute value in resp.RedirectLocation
or do it in different way? 问题:是否有可能以某种优雅的方式(例如动作上的某些属性)在resp.RedirectLocation
替换值,或者以其他方式实现?
Thanks. 谢谢。
You can send your return url to your custom Authorize attribute 您可以将返回网址发送到自定义的Authorize属性
public class AuthAttribute:ActionFilterAttribute
{
private string _returnUrl { get; set; }
public AuthAttribute(string url)
{
_returnUrl = url;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.