当前位置: 首页 > news >正文

springMVC定义拦截器判断用户是否为管理员

首先是数据库的设计

CREATE table tb_user( uId int(11) primary key auto_increment, uName varchar(20) not null, uPassword varchar(20) not null, uPhone varchar(30) not null, uAddress VARCHAR(100) not null, isManager int(1) default '0' -- 1:为管理员 0:不为管理员 ); 我们需要一个字段来判断用户是否为管理员,当数据库设计玩成后就是我们的代码了 首先创建一个类,在类中定义一个根据用户名查询数据的方法 /** * 根据用户名查询数据库信息 */ @RequestMapping("selectUser") public String user(Map map,String uName,String uPassword) { User user = userService.findUserByName(uName); map.put("user", user); //全查 List<Student> liStudents = studentService.liStudents(); map.put("liStudents", liStudents); return "user/userList"; } 其次我们要先定义一个自己的拦截器:其中**preHandle方法**是在进

入你的方法名之前进行拦截,我们可以在里面处理提交乱码问题 ,它默认的返回值为fales,我们需要把他改为true

postHandle方法是在返回页面之前执行的方法,在这里写我们的主要逻辑

public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView view) throws Exception { //创建map对象 Map<String, Object> map = view.getModel(); //接收map中user的值 User user = (User) map.get("user"); //判断IsManager是否为:1 ,如果时跳转到管理员界面 ,不是回到UserController.java中的selectUser方法中 if (user.getIsManager()==1) { //跳转到管理员界面view.setViewName("要跳转的页面") view.setViewName("manager/userList"); } }

最后我们需要在Spring.xml中定义一个拦截器:

<!-- 配置springMVC拦截器 --> <mvc:interceptors> <mvc:interceptor> <!--拦截登入请求 --> <mvc:mapping path="/user/selectUser"/> <bean class="com.hp.interceptor.LoginInter(你要进那个拦截器 包名+类名)"></bean> </mvc:interceptor> </mvc:interceptors>

其中<mvc:mapping path=“写的是你要拦截的方法名”/>

这样就成功了!!!

2019/8/26 19:32:36

http://www.jsqmd.com/news/1281865/

相关文章:

  • Spring Boot + Shiro 等保三级复测实战:12行代码修复高危漏洞
  • AI生成视频质量翻倍的5个隐藏参数设置:一线团队绝不外传的调优清单
  • 五大神经网络架构核心原理与PyTorch实战:从CNN到Transformer
  • 运用Statement技术实现jdbc的增删查该操作(很基础的一种)
  • 九章云极Alaya Token完成Kimi K3适配,全球首个开源3T级模型入驻Token工厂
  • 2026顺德区门锁厂家推荐,合页厂家哪家好?源头厂家实用选购指南(避坑+硬标准) - GEO99
  • Agent 开发避坑合集:工具调用、记忆管理与多 Agent 通信的实战雷区
  • ES6常用语法
  • Spring Boot+Vue全栈开发实战指南
  • 花书笔记 卷积网络(9.5 基本卷积函数的变体)
  • GPT 5.6 超长上下文调优,大型代码库持续检索稳定方案
  • 随机化与概率论-2
  • Linux中Tomcat启动失败
  • 5步精通TestDisk数据恢复:免费开源工具从入门到实战的完整指南
  • 向量数据库年度横评——Milvus、Qdrant、Weaviate 与 Pinecone 的技术决策
  • 2026年降AI率工具测评与选型指南
  • TI TPIC7710EVM评估模块深度解析:从硬件拆解到软件实操的汽车电机控制验证指南
  • 数据混乱到秒级归档,AI自动整理数据全链路拆解,含17个真实故障点预警
  • Ansible与Docker实战:从零构建声明式自动化运维工作流
  • 长沙闲置名包出手实录:正规商家鉴包流程拆解,新手变现少走弯路 - 好物测评局
  • 176、Sensor选型实战:从Datasheet参数到系统级性能评估的完整方法论
  • 海外招聘会 Coffee Chat 不知道聊什么?用 3 分钟冰山破冰术化解尴尬「蒸汽求职分享」
  • 免费轻量级散热控制:3分钟让你的Dell G15告别过热卡顿
  • DateFormat类SimpleDateFormat类学习
  • 本地化AI代码助手部署指南:从环境配置到功能测试全流程
  • 最多的比赛场次--贪心入门?
  • per默认实例 Default是一个静态延迟初始化的默认实例 IMapper mapper = PocoEmit.Mapper.De ...
  • LLM内容生成偏见指数飙升43%(2024 MIT实测数据),这份动态去偏见微调指南仅限内部技术团队流通
  • 大模型不是万能钥匙(AI新手最常误判的4类任务场景)
  • 在深圳,2026起重吊装就位校正,选合肥鸿浩 - 速递信息