如何限制我的自定义拦截器的调用?

2020-09-29 20:15发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我写了一个如下的拦截器:

公共类HMCUserInterceptor实现LoadInterceptor {

  @Override
        公共无效onLoad(.....)引发InterceptorException {
             }
  

}

使用此即时消息在我的新表中保存新记录,但是此拦截器每次都在调用,这意味着如果我运行正在执行的作业,如果我发布产品,则在打开"管理"选项卡时调用更多 在哪里打电话,请问有人可以限制我吗。

仅当任何人登录到hMC/hAC时才应调用..

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我写了一个如下的拦截器:

公共类HMCUserInterceptor实现LoadInterceptor {

  @Override
        公共无效onLoad(.....)引发InterceptorException {
             }
  

}

使用此即时消息在我的新表中保存新记录,但是此拦截器每次都在调用,这意味着如果我运行正在执行的作业,如果我发布产品,则在打开"管理"选项卡时调用更多 在哪里打电话,请问有人可以限制我吗。

仅当任何人登录到hMC/hAC时才应调用..

付费偷看设置
发送
7条回答
渐行渐远_HoldOn
1楼-- · 2020-09-29 21:15

啊哈,然后我了解了用例。 您实际上不想使用拦截器,但可能是一个事件? HMC是旧样式,没有使用Spring安全性作为其他部分,因此将其安装到位可能会有些困难。 也许通过实现JaloSessionListener并使用它?

半个程序猿
2楼-- · 2020-09-29 21:19

是否有任何审核记录或一些OOB可以在这里为我提供帮助。

Baoming ROSE
3楼-- · 2020-09-29 21:00

您好, 每次您从数据库加载某些东西时都会调用此拦截器。 如果只想在保存项目时调用,则PrepareInterceptor将是更好的选择。

追夢秋陽
4楼-- · 2020-09-29 21:05

事件我尝试了相同但没有成功。

由于在hMC登录时,我们将如何获得此用户详细信息。

能否请您分享给我代码示例,以便我进一步介绍。 谢谢。

奄奄一息的小鱼
5楼-- · 2020-09-29 20:57

嗨, 我还认为,LoadInterceptor(或任何其他拦截器)是在hmc登录时执行某些操作的完全错误的地方,Interceptor只是经常被称为这种方式。

我看到您可以遵循的另外两个选择:

  • 肮脏但非常直接的选项是AOP方面,在对de.hybris.platform.hmc.HMCMasterServlet.trySwitchUser()的任何调用中都会触发,这基本上是处理hmc登录的方法。

  • 或用您自己的过滤器替换hmc的RedirectWhenSystemIsNotInitializedFilter(在/hmc/web/webroot/WEB-INF/hmc-web-spring.xml中管理的弹簧),以检查新会话(登录到hmc) ),然后开始活跃。

希望这会有所帮助...

天桥码农
6楼-- · 2020-09-29 21:09

是的,只要从DB加载模型,就会调用Load Interceptor。

但是我需要在登录hMC或hAC时捕获表中的记录。

使用此PrepareInterceptor,我们无法捕获记录。 因此,这对于此要求没有帮助。

一周热门 更多>