问题标签 [asp.net-mvc-filters]

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 投票
1 回答
140 浏览

asp.net - OnException 方法永远不会运行

我正在构建一个 ASP.NET MVC 5 Web 应用程序。使用以下方法,我的OnException方法永远不会运行(我不能断点它并且抛出未捕获的异常也不会做任何事情,所以我假设它永远不会运行)

这是我的 global.asx

请帮忙。

0 投票
2 回答
536 浏览

asp.net-mvc - 绑定后验证前如何获取模型?

是否可以在模型在活页夹中创建之后但在验证之前对其进行全局拦截。我尝试了过滤器,但过滤器在验证后被调用。

0 投票
0 回答
762 浏览

c# - mvc 5 '条件过滤器'

我有一个 MVC 站点,我想应用一些自定义逻辑,以便每当用户登录或确认身份验证时,如果他们的手机号码未经过验证,我会将他们重定向到验证页面。我希望此检查仅在站点需要身份验证的地方“发生”。我曾尝试注册为全局过滤器,但每次完成任何视图/操作时都会调用此检查。(我有逻辑可以检测它们是否经过身份验证)。我觉得这有点不必要的开销和效率低下......有很多控制器操作都装饰有 [Authorize] 属性,并且不想为每个操作添加另一个自定义属性以使其正常工作,我也不想写我的自己的自定义 [Authorize] 提供程序。有什么选择吗??再次,

0 投票
8 回答
14861 浏览

asp.net-mvc - 在 ASP.NET MVC 5 应用程序中启用 SSL 会导致 OpenIdConnectProtocolValidator 问题

我有一个针对 Azure Active Directory 进行身份验证的 ASP.NET MVC 5 应用程序。我想在整个应用程序上启用 SSL。因此利用全局过滤器如下:

在此之后,我还将项目属性中的“启用 SSL”设置为 true。这给了我以下 SSL URL -> https://localhost:34567。我更新了项目,使其位于“项目 URL”中服务器下的“Web 选项卡”下的 IIS Express 路径中。但是在运行该站点时,我遇到了以下错误:

IDX10311:RequireNonce 为“真”(默认),但 validationContext.Nonce 为空。无法验证随机数。如果您不需要检查 nonce,请将 OpenIdConnectProtocolValidator.RequireNonce 设置为“false”。

我有身份验证。在网站上启用。我使用 Azure 活动目录。

安全码如下:

授权。正在从 web.config 读取值,如下所示:

我尝试按照错误消息中的指示将 RequireNonce 设置为 false,如下所示:

但这只会导致无效的请求错误。

有人可以帮我理解这里的问题吗?在启用 SSL 之前,一切都很好。

0 投票
2 回答
752 浏览

asp.net-mvc - ASP.NET MVC IAuthorizationFilter 用法

在 ASP.NET MVC 中,IAuthorizationFilter任何其他过滤器和操作方法之前运行。那么对于某些需要在任何其他逻辑运行之前执行检查和分析传入 HttpRequest 的逻辑的场景,实施 IAuthorizationFilter 是否合适?或者 IAuthorizationFilter 应该只用于授权相关的逻辑,那么我应该采取什么其他方式呢?

0 投票
1 回答
3819 浏览

c# - 使用带区域失败的 RedirectToRouteResult

我正在使用自定义过滤器来检查用户对特定操作的访问权限,并且我有一个名为 Admin 的区域。当过滤器重定向未经授权的用户时,它被重定向到内部区域而不是路由目录中的视图。
例如,当我访问http://localhost/admin/roles时,我希望未经授权的用户将被重定向到http://localhost/authorized而不是像现在这样重定向到 http: //localhost/admin/authorized
这是我使用过滤器的方法:

0 投票
2 回答
2531 浏览

c# - 用另一个覆盖授权过滤器

CustomAuthorizeAttribute在我的 Web Api 项目中定义了一个默认值。

但是我有一个特殊的控制器,我想在其中使用SpecialAuthorizeAttribute.

在 Asp.Net vNext 中,我们有一个新属性来覆盖默认过滤器,但我怎样才能让它在 Web Api 2 中工作?

编辑1:

一种可能(但不理想)的解决方案是让 CustomAuthorizeAttribute 检查 Controller 或 Action 范围内是否还有另一个 AuthorizeAttribute。就我而言,我只有 SpecialAuthorizeAttribute 所以:

0 投票
1 回答
414 浏览

asp.net-mvc - 授权失败时更改 ModelState

我写了一个自定义的授权过滤器:

这个过滤器有各种条件,如果用户没有被授权,最终将结果设置为Unauthorized,如果用户被授权,则什么也不做。

它在 SPA 应用程序中使用,我的几乎所有方法都是从网格中调用的。在这些网格中,我有自定义错误处理程序,如果出现问题,它将显示友好的通知。所有错误都添加到ModelState.

现在,我想管理未经授权的行为并ModelState在用户无权执行(例如删除)时进行更改。

请指导我应该如何实现它以及我需要覆盖哪些方法。

更新

我可以用这条线改变模型状态:

但它不会向用户返回任何内容。我已经尝试在挑战方法中使用IAuthenticationFilter和添加ModelState错误,但它也没有奏效。

如果我可以返回一些Json数据,我想它会正常工作。

我需要以某种方式获得此操作方法的类似行为:

可能吗?您对实施此授权和返回Json数据有什么建议吗?

0 投票
1 回答
57 浏览

json - 为什么我的自定义错误过滤器无法捕获所有错误?

我有以下自定义过滤器,从这个答案借来的:

然而,当我尝试发布到标有 的操作时[HttpGet],例如

我收到标准的 HTML 404 错误响应。当然,我怀疑这是因为 404 检测本身不是异常,并且没有被我的处理程序捕获。是否有另一个过滤器可以派生来返回 Json 响应 404 错误,或者我能做什么?

0 投票
0 回答
233 浏览

c# - mvc 中授权过滤器的替代方案

我非常熟悉Authorization Filter在 mvc 中授权访问 mvc 中的特定 url。

我正在处理我无法控制为我的应用程序中的某些内容编写的Controller命名的情况。CustomCtrlAction

在这种情况下,我该如何执行Authorization规则。

例如。如果有人使用User我存储的属性登录我的应用程序,我session state如何限制该用户访问 url Admin/CustomCtrl/SomeAction,就像我们可以ASP.NET通过编写在应用程序中执行的操作一样CustomHandler