牛客网项目第二章-检查登录状态
解决在未登录的时候,可以通过路径访问到登录时才可以访问到的页面。
如果访问管理员才能访问的功能,或者随意的更改了一些数据,会给我们的项目产生很大的隐患。
在未登录的时候,在服务器请求进行判断,使其访问不到登录后才能访问到的页面。
一、定义拦截器
1.在方法前标注自定义注解
2.拦截所有请求,只处理带有该注解的方法
3.自定义注解
@Target,定义注解加载类、方法或者变量上
@Retention,声明自定义注解的有效时间,是编译时有效还是运行时有效
@Document,在生成文档的时候要不要带该注解
@Inherited,用于继承,子类继承父类后,要不要继承该注解
通过反射获取该方法上的所有注解
通过反射获取该类型的注解
4.在community包下新建一个包annotation,需求是需不需在登录状态下才能访问的注解,在annotation包下创建注解LoginRequired
5.更改设置页面、上传头像页面需要加该LoginRequired注解,未登录不可以访问
6.定义拦截器来处理该逻辑
在interceptor包下创建LoginRequiredInterceptor类
7.指定拦截器生效的路径
将静态请求排除掉,从剩余方法中拦截带有注解的请求,提高效率
拦截谁,不需要一个一个加路径,使用定义好的注解就可以
在config包下的WebMvcConfig类中注入该拦截器
8.启动程序测试