问题标签 [custom-action-filter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
770 浏览

asp.net-mvc - OutputCache 和记录独特的视图?

图像我有一个使用 OutputCache 属性缓存的视图,但我仍然需要增加一个记录该页面已被查看的计数器,我该怎么做?

我考虑过创建自己的自定义 ActionFilterAttribute,并使用 Action Filter Order of Execution 来记录这个......但我不确定它是否会起作用。

例如。

首先,我在这里的假设是,如果调用了 OutputCache,并且缓存了页面,那么控制器代码将不会运行。

我猜的下一个问题是 IncrementViewCountFilter 不知道 questionId,那么它怎么知道要增加什么(因为它是在执行主索引代码之前执行的)。

其次,如果 IncrementViewCountFilter 确实知道 questionId .. 并且它得到了很多点击,那么您不希望它一直写入数据库 .. 但只有当它达到某个数字时 .. 然后 'flush ' 输出。

有人有什么想法吗?

0 投票
3 回答
12042 浏览

asp.net-mvc - ASP.NET MVC - CustomeAuthorize 过滤器操作使用外部网站登录用户

我有一个 CustomeAuthorize 操作过滤器,如果用户未通过身份验证,它会将用户转发到登录页面。我将此过滤器应用于操作或控制器。

过滤器看起来像这样:

一旦我为 filterContext.Result 分配了一个值,在过滤器执行完成后,执行(不知何故?!)重定向到 SignIn 操作并且 MyAction 不执行。这正是我想要的。

现在说我想更改我的 CustomAuthorize 以针对外部网站而不是我自己的 SignIn 操作对用户进行身份验证,所以我正在做这样的事情:

我的问题是,在执行完第二版 CustomAuthorize 过滤器后,继续执行 MyAction,这不是我想要的!在这种情况下,如何在过滤后停止执行 MyAction?

-更新-我刚遇到一个新问题。我的 MVC 应用程序位于 iFrame 中,我希望重定向在重定向后强制当前帧作为主帧,所以我正在做类似的事情:

有没有办法将 javascript 传递给 RedirectResult()?

0 投票
5 回答
22490 浏览

c# - Asp.net mvc - 从自定义操作过滤器访问视图模型

我正在尝试访问传递给操作过滤器 OnActionExecuted 中的视图的模型数据。有谁知道这是否可能?

我正在尝试做这样的事情:

有什么建议吗?

0 投票
3 回答
1611 浏览

asp.net-mvc - ASP.NET MVC:授权后登录页面的自定义参数

我想在授权失败后将访问者重定向到带有添加参数的登录页面(基于他们正在执行的操作)。

这是我想做的一个例子:

ASP.NET MVC - CustomeAuthorize 过滤器操作使用外部网站登录用户

但是,由于这是一个自定义过滤器,我不知道如何或是否可以像通常的授权过滤器一样指定角色。我想要类似的东西:

谢谢!

0 投票
1 回答
642 浏览

asp.net-mvc - IAuthorizationFilter + Ninject2

I'm currently using Ninject2 to bind the various services and repositories in my MVC app. That part seems to be working just fine. Now I'd like to also bind my own class to IAuthorizationFilter and all actions that have the attribute set.

I've created a class that inherits from AuthorizationFilter and Implements IAuthorizationFilter.

I've also add this to my binding module:

The last time I checked, the Ninject Mvc bits had support for also binding the 4 types of action filters.

Has anyone else done this? Whenever I run the site, the url that invokes the action marked Authorize just redirect to the login page, and never hits the breakpoint in my filter class.

If I were using a custom attribute, it would work, but changing all of the Authorize attributes defeats the purpose of using Ninject every time I want to swap one out of course.

0 投票
1 回答
5635 浏览

c# - ASP.NET MVC 3 自定义操作过滤器 - 如何将传入模型添加到 TempData?

我正在尝试构建一个自定义操作过滤器,它从过滤器上下文中获取传入模型,将其添加到 tempdata,然后执行“其他操作”。

我的操作方法如下所示:

现在,我想model在模型绑定启动并将表单值集合转换.TempDataMyViewModel

我怎么做?

0 投票
1 回答
2744 浏览

asp.net-mvc-2 - 如何在 ASP.NET MVC 中将动态变量传递给动作过滤器

我想使用一个变量将动态值传递给我的动作过滤器。我认为它会是这样的:

但是,似乎该参数必须是一个常数值。因此,我的问题是如何将变量添加到我的操作过滤器中?

0 投票
1 回答
141 浏览

vb.net - ASPNET MVC2 ActionFilter Order 属性由于 procetion 级别而无法访问

我正在尝试在我的 ASP.NET MVC2 应用程序中设置 ActionFilterAttribute 的 Order 属性。

Visual Studio 智能告诉我可以键入 Order 属性,但是当我这样做时,编译器会抛出错误“Order 未声明。由于其 procetion 级别,它可能无法访问。”

我能做些什么来解决这个问题?

对于我的示例,我阅读并遵循这篇文章 http://msdn.microsoft.com/en-US/library/dd381609.aspx

0 投票
1 回答
968 浏览

asp.net-mvc-4 - Ninject Authorization vs Action Filter 绑定顺序

我有 2 个过滤器正在尝试使用 Ninject 的BindFilter<>语法应用,并且它们的依赖注入成功地应用了它们。问题在于这样一个事实,即一个人会确定当前用户是谁并绑定该用户InRequestScope,并且在检查维护授权时必须在第二个用户之前运行 - 否则它不知道您指的是哪个用户。

中的过滤器绑定NinjectWebCommon.cs如下所示:

所以在维护控制器中,我希望第一个运行,然后是第二个;在其他所有内容中,只有第一个 - 这很有效,第二个仅在浏览我的维护控制器中的某些内容时使用。

2 个过滤器是这样声明的(不相关的细节除外)

我希望断点 1 被击中,然后是断点 2,但由于某种原因,它总是首先出现断点 2 - 因为此时它不知道用户,所以它告诉我我没有授权。

我尝试了许多不同的 FilterScope 排列和顺序设置,甚至以不同的顺序绑定它们,但没有任何效果......我做错了什么?

0 投票
1 回答
2699 浏览

asp.net-mvc - 在 asp.net mvc 3 的 AuthorizeAttribute 属性中使用的 RedirectResult 问题

我必须处理一个遗留应用程序,其中重定向到需要身份验证的资源不起作用。意思是通常:

甚至没有生成。

情况如下。有一个实现:

其中,像往常一样包含:

这里的网址是这样的:

这是正确生成的。该实现使用继承自 的 NewResult,RedirectResult具有如下构造函数:

任何想法为什么基本构造函数可能无法按预期工作?