简体   繁体   English

如何用ReturnUrl替代ASP.NET MVC中的某些操作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM