| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 牛客网项目8:登录检查 -> 正文阅读 |
|
[Java知识库]牛客网项目8:登录检查 |
1. 大体思路防止用户直接输入:http://localhost:8080/community/user/setting,从而进入某些页面。因此进入某些页面时,需要检查用户的登录状态。 由于众多页面都需要进行登录状态的判定,因此写在拦截器中。 不过一个一个添加要拦截与放行的路径十分麻烦,我们可以自定义注解。让被注解标识的方法,被拦截。 2. 自定义注解?????????- 常用的元注解: ????????????????@Target、@Retention、@Document、@Inherited ?????????- 读取注解: ????????????????Method.getDeclaredAnnotations() ????????????????Method.getAnnotation(Class<T> annotationClass) 在com.nowcoder.mycommunity目录下新建包:annotation,里面用于存放自定义注解。 在该目录下新建Annotation:LoginRequired
3. 控制器方法上添加注解UserService中有三个方法: ???????进入账号设置:?getSettingPage() ? ? ? ?上传头像:getSettingPage() ? ? ? ? 获取头像:getHeader() 其中前两个方法需要添加自定义的注解LoginRequired,来接受拦截,进行登录检查。 获取头像的方法则不需要,因为用户在不登录时,依然能查看他人的头像。 4. 拦截器在controller.interceptor下新建类:LoginRequiredInterceptor 该拦截器拦截了所有带LoginRequired注解的方法。
5. 配置拦截器在WebMvcConfig类下,配置登陆检查拦截器LoginRequiredInterceptor跳过静态资源。 这样使得在访问静态资源以为的路径时,都会通过该拦截器。该拦截器判断方法是否携带注解LoginRequired,如果带、且为未登录状态,就进行拦截。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 21:32:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |