我想请问一下,拦截器,一般都是拦截什么类或接口?登录或要执行操作数据库的类接口是吗?如果是要拦截这些, 哪么 这里应该怎么做呢?是要得到它们的Session,然后去数据库对比,是否登录或者有权限吗?
拦截数据库操作的话,一般是再插入或更新数据库的时候,往固定字段上加入固定信息
比如,数据的创建时间,创建用户,最后更新时间,最后更新用户
拦截Web操作的话,一般是做权限判断,比如判断登录的用户对拦截的URL是否有访问权限。
其他的比如写日志也是经常拦截的内容。
拦截接口。比如说一个登录拦截,主页是/home
,商品详情页面是/goods
,用户可以在主页查看商品信息(无需登录),但是当用户想要查看商品详情时需要登录,这时我们就需要对/goods
这个地址进行拦截。
一般都是使用WebMvcConfigurer
来拦截,拦截下来后对比登录信息。比如是使用session来保存用户登录信息的,这时我需要去查看session对应的登录信息中时候有登录信息,如果有则让他访问/goods
页面,否则跳转到登录页面让用户登录
面向切面编程是一种思想,理解掌握了这种思想,就有了答案,加油!