2.3创建用户访问过滤器(安全性)

在我们的真实应用中,我们需要封装我们的服务请求,过滤掉不好的请求信息。在Spring Boot框架中会自动添加OrderedCharacterEncodingFilter和HiddenHttpMethodFilter, 但是我需要的往往更多。

  在Spring的框架家族中,如Spring Boot, Spring MVC, SpringWeb 和其它的,都提供了多个不同的服务过滤。我们只需要声明它们作为bean来使用即可。想象一下,我们现在有个应用运行在负载均衡的代理中,用户请求的IP需要是真实的IP而不是代理中IP。Tomcat8提供了我们这个功能,那就是RemoteIpFilter。我们需要把RemoteIpFilter加入到我们的过滤链中。

2.3.1代码实现

1.为了明确什么样的类需要被配置,我们需要创建一个配置类取名为WebConfiguration在src/main/java/org/owen/bookpub目录下。

 @Configuration
public class WebConfiguration {
@Bean
public RemoteIpFilter remoteIpFilter() {
return new RemoteIpFilter();
}
}

 

2.执行程序,你将会看到如下的信息,若果没有,是正常,不需要纠结这个。

 ..FilterRegistrationBean: Mapping filter: 'remoteIpFilter' to:[/*]

 

2.3.2代码说明

在我们的主类BookPubApplication中,我们看到@SpringBootApplication的注释,这个注释包含了@ComponentScan。@ComponentScan构造是Spring Boot会去探测WebConfiguration上的@Configration类,并将它添加到上下文中。所以,我们声明的WebConfiguration就相当于直接放入到BookPubApplication中一样。

  @Bean public RemoteIpFilter remoteIpFilter(){…}声明简单创建一个bean给RemoteIpFilter类,它将会加入到过器链中并自动装配。这样的话,只要我们想加更多的过滤器到配置中,例如我们要指定过滤器去应用特殊的URL,我们可以创建@Bean 的FilterRegistrationBean的类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值