springMVC配置拦截器、过滤器、前端控制器时遇到的问题总结

时间:2021-09-01 14:33:50

1、业务场景:使用vuejs+springMVC+spring框架搭建一个mis系统,集成SSO单点登录:

2、遇到问题:使用interceptor拦截器配置SSO单点登录,直接敲域名,或者ip+端口,不能被拦截;

3、问题解决:将SSO单点登录改写成Filter过滤器,成功拦截地址栏所有请求;

4、总结:

a、springMVC的拦截器,只能拦截地址栏访问对controller的请求,无论你拦截的地址配置到天上,它只拦截对controller的请求;

b、springMVC的过滤器,这个会根据你配置的路径选择性拦截,拦截什么请求路径,按个人口味选择;

c、springMVC的前端控制器,这个玩意儿也是根据你配置的路径选择性拦截,若直接配置跟路径,静态资源也会被揽件;

三者的执行顺序:过滤器-->拦截器-->前端控制器;

5、个人需求:

若用户不登录系统,系统的任何东西都看不到,此时需要使用过滤器来做限制,验证身份合法后,才能进入系统默认页面;

若只限制用户的controller请求,只有用户请求后台资源时才验证用户身份,此时用拦截器即可;