非法用户登录拦截
时间:2019-11-15
本文章向大家介绍非法用户登录拦截,主要包括非法用户登录拦截使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
非法用户登录拦截
实现当用户未登录时,无法跳转到出登录页面以外的任何页面,拦截用户仍在登陆页面;当用户登录成功即可跳转到其他页面
1、实体类
package com.springmvc.entity; public class User { private Integer uid; private String userName; private String password; private String realName; public Integer getUid() { return uid; } public void setUid(Integer uid) { this.uid = uid; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getRealName() { return realName; } public void setRealName(String realName) { this.realName = realName; } }
2、interceptorLogin.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录</title> </head> <body> <form action="/my/login" method="post"> 用户名<input type="text" name="user"/><br/> 密码<input type="password" name="password"/> <input type="submit" value="登录"/> </form> </body> </html>
3、success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>success</title> </head> <body> <h1>登陆成功!</h1> </body> </html>
4、 MyController
package com.springmvc.Controller; import com.springmvc.entity.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @Controller @RequestMapping("/my") public class MyController { @RequestMapping(value = "/login" ,produces = "text/json;charset=utf-8") public String login(User user, HttpServletRequest request){ return "success"; } }
5、 LoginFilter
package com.springmvc.filter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @WebFilter(urlPatterns = {"/*"}) public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest servletRequest=(HttpServletRequest) request; //放行URL if(servletRequest.getRequestURI().equals("/my/login")){ filterChain.doFilter(request,response); } Object user = servletRequest.getSession().getAttribute("user"); if (user==null){ servletRequest.getRequestDispatcher("interceptorLogin.jsp").forward(request,response); }else { //放行请求 filterChain.doFilter(request,response); } } @Override public void destroy() { } }
原文地址:https://www.cnblogs.com/Zzzzn/p/11865924.html
- 【译】《Understanding ECMAScript6》- 简介
- 深入理解 Java 并发之 synchronized 实现原理
- 你真的很熟分布式和事务吗?
- 基于Nginx负载均衡方案
- Android 使用android-support-multidex解决Dex超出方法数的限制问题
- Netty 实现原理浅析
- 上海2017QCon个人分享总结
- 为最佳性能调优 Nginx
- 《微信小程序七日谈》- 第一天:人生若只如初见
- 类加载器详解
- 《微信小程序七日谈》- 第二天:你可能要抛弃原来的响应式开发思维
- 《微信小程序七日谈》- 第三天:玩转Page组件的生命周期
- 《微信小程序七日谈》- 第四天:页面路径最多五层?导航可以这么玩
- 《微信小程序七日谈》- 第五天:你可能要在登录功能上花费大力气
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 并发工具的使用
- js创建对象
- 前端笔试题(附答案)
- .Net Core微服务入门全纪录(一)——项目搭建
- JS中的call()方法和apply()方法和slice()用法总结
- 完整的url以及同源跨域处理
- .Net Core微服务入门全纪录(二)——Consul-服务注册与发现(上)
- .Net Core微服务入门全纪录(三)——Consul-服务注册与发现(下)
- MTO变量缩放与统一决策空间
- css相关的几个点
- .Net Core微服务入门全纪录(四)——Ocelot-API网关(上)
- Apache下如何禁止指定目录运行PHP脚本
- .Net Core微服务入门全纪录(五)——Ocelot-API网关(下)
- 在Docker中运行PostgreSQL + pgAdmin 4
- .Net Core微服务入门全纪录(六)——EventBus-事件总线