问题标签 [interceptor]

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 回答
1458 浏览

c# - 仅使用 DynamicProxy 拦截接口方法

我有这样的界面

实现该接口并具有另一个方法的类

还有一个拦截器

我只想拦截 IService 上存在的 Service 上的方法(即我想拦截 InterceptedMethod() 而不是 SomeMethod()),但我不想使用 IProxyGenerationHook 中的 ShouldInterceptMethod。

我可以这样做,但由于它返回一个接口,我不能在这个对象上调用 SomeMethod

可以工作的一件事是从 SomeMethod() 中删除虚拟并这样做

但我不喜欢这个解决方案。

我不喜欢使用 IProxyGenerationHook 中的 ShouldInterceptMethod,因为每次我更改接口时,我也需要更改 ShouldInterceptMethod,而且有一天有人可以重构方法名称并且不再拦截该方法。

还有其他方法可以做到这一点吗?

0 投票
2 回答
6007 浏览

struts2 - 令牌会话 使用令牌来防止重复提交表单?

我使用 Token Session 来防止重复提交表单,但是第一次向服务器发出请求时,我总是得到错误页面

"<s:token />"<s:form>已添加到和之间的可能成功页面</s:form>,但无法正确运行。

请帮我解决它们,是否有另一种方法可以防止重复提交表单。我等待建议,非常感谢你。:)

0 投票
1 回答
266 浏览

structuremap - 结构图 202 - 为什么?

好的,我正在尝试在我向 SM 注册的类型上设置一个属性。

这是我的一个组件中注册表中的代码。此注册表是在从控制台应用程序配置期间添加的。当我尝试访问实例 AutoMandatoryEndorsementAggregator 对象的 EndorsementSpecs 属性时,我得到 202。有趣的是,我可以从我的控制台应用程序调用 GetAllInstances>() 并且它解决得很好。是否有关于从导致 202 的 OnCreation 中访问此代码的内容?我可以在 WhatDoIHave() 中看到我所期望的一切。我还尝试了具有相同结果的 TypeInterceptor。

0 投票
1 回答
531 浏览

session - 我应该在什么时候改变 Struts 获取会话令牌的方式?

看来我必须找到一种不同的方法来将会话令牌从 Flex 客户端传输到 Struts 后端而不使用 cookie。

如果我将会话令牌放入请求的有效负载中,我必须在什么时候自定义 Struts 的行为,以便我可以尽可能多地重用现有的会话处理?特别是,我不想重新实现任何安全措施(例如将令牌绑定到 IP)和配置参数(例如会话到期间隔)。

有一个 CreateSession 拦截器,在默认堆栈的早期,我应该用子类版本交换它吗?

0 投票
1 回答
1351 浏览

java - Struts 调用的是什么方法?

如何从拦截器中获取将在操作中调用的方法的名称?

0 投票
1 回答
673 浏览

spring - 在自定义方法拦截器中访问 bean 名称

我想编写在数据库中执行的 bean 名称和方法,因此决定创建一个自定义拦截器。但是,我无法访问 bean 名称。

我发现 ExposeBeanNameAdvisors 可能是解决方案之一,但无法找到设置名称的点。

有人对此有想法吗?非常感谢!!

0 投票
1 回答
326 浏览

asp.net - 具有域上下文的休眠拦截器

是否可以(以干净的方式)在休眠 2.1 中创建一个审计拦截器并将域上下文传递给它?

我想要实现的是设置一个日期时间(可以很容易地完成 - 在快速谷歌之后找到加载文章),但是设置一个对象,例如创建项目的用户,或者更改我还没有找到任何东西的实体这涵盖了这一点。

由于我在应用程序请求/启动时不知道对象(这是我必须注册 nhibernate 拦截器的地方),有没有人知道合适的解决方法?

在此先感谢,马克 H

0 投票
1 回答
1610 浏览

javascript - 您如何在客户端(浏览器)AJAX 请求/响应对上实现拦截器模式?

让我从一个真实的用例开始:

当服务器端身份验证过滤器由于会话过期而尝试将 AJAX 请求重定向到登录页面时,DWR会感到困惑。您想添加一些过滤器,以便

  1. HTTP 状态码等于3xx的请求会执行客户端重定向,例如window.location = ...login.html
  2. 状态码等于2xx的请求将被转发 - 不变 - 到任何已注册的处理程序,如 DWR。
  3. 其他代码,如4xx可能会触发警报,而不是消失在深渊中。

我可能不必解释为什么这种功能会有用。大多数服务器端 Web 框架都支持拦截器模式,原因与您可能希望在客户端上使用它的原因相似。

一种(可能是坏的)实现可能涉及将原始 XMLHttpRequest 对象包装在接受某些过滤器功能的代理中。由于 jQuery、Prototype、ExtJS 等都已经包装了本机浏览器 AJAX 对象,这可能是一个额外的步骤。

这可以本地实现吗?有哪些技术挑战?以前有过这样的事情吗?

0 投票
1 回答
1533 浏览

grails - 在 Grails / Groovy 中拦截或重命名方法调用

我试图在 Grails 应用程序中拦截一个方法调用(域类的 afterInsert())。在我的插件的 doWithDynamicMethods 关闭中,我有:

但后来我得到这个错误:

我也试过用 dc.metaClass."afterInsert_old".invoke(delegate, new Object[0]) 来调用它,但后来我得到:

我究竟做错了什么?如何调用不带参数的方法?

我了解 AOP,并且还以 Grails Audit Logging 插件为例。但是,据我所知,它的作用是添加新的用户创建的方法,这些方法会在正确的时间触发。我想自动注入我的代码,这样用户就不必担心任何事情,我不想破坏他原来的 afterInsert() (或任何方法)实现。

另外,我想对暴露的服务方法做同样的事情,以便为它们注入安全性。但是,从我读到的内容来看,由于 BeanWrapper 并且服务总是重新加载,因此它不起作用。有人可以向我更好地解释一下吗?

提前致谢。

0 投票
1 回答
739 浏览

nhibernate - nhibernate动态绑定一个类

我已经阅读了这篇文章,并且正在寻找一种方法来在运行时动态更改我的映射,以使用依赖于父对象中的值的一对多绑定到不同的表。

这是我的映射

现在正如文章所述,我应该能够使用拦截器更改实体名称

现在的问题是双重的。

首先,尽管在打开我的会话时声明了它,但我似乎无法启动这个拦截器,其次我完全疯了,这永远不会奏效吗?