-
登录过滤器
2018-11-23 15:54:331.在web.xml文件中配置登录过滤器 2.写一个loginFilter 用于实现过滤没有登录的用户 loginFilter 实现filter接口,重写doFilter方法1.在web.xml文件中配置登录过滤器
2.写一个loginFilter 用于实现过滤没有登录的用户
loginFilter 实现filter接口,重写doFilter方法
-
JAVA配置登录过滤器和编码过滤器
2015-04-23 11:19:16登录过滤器和编码过滤器web.xml中的配置:
<!-- 登录过滤器 --> <filter> <filter-name>loginFilter</filter-name> <filter-class>com.hcj.filter.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>com.hcj.filter.EncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
登录过滤器:
package com.hcj.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.hcj.dto.User; public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 获得在下面代码中要用的request,response,session对象 HttpServletRequest servletRequest = (HttpServletRequest) request; HttpServletResponse servletResponse = (HttpServletResponse) response; HttpSession session = servletRequest.getSession(); // 获得用户请求的URI String path = servletRequest.getRequestURI(); //System.out.println(path); // 从session里取登录用户信息 User user = (User) session.getAttribute("user"); // 登陆页面无需过滤 if(path.indexOf("/login.jsp") > -1) { chain.doFilter(servletRequest, servletResponse); return; } // 判断如果没有取到用户,就跳转到登陆页面 if (user == null) { // 跳转到登陆页面 servletResponse.sendRedirect("http://localhost:8080/Hikvision/user/login.jsp"); } else { // 已经登陆,继续此次请求 chain.doFilter(request, response); } } @Override public void destroy() { // TODO Auto-generated method stub } }
编码过滤器:
package com.hcj.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class EncodingFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 获得在下面代码中要用的request,response对象 request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); chain.doFilter(request, response); } @Override public void destroy() { // TODO Auto-generated method stub } }
-
mvc登录过滤器
2019-10-12 17:04:42mvc登录过滤器1.LoginActionAttribute类2.FilterConfig3.RouteConfig4.Global5.登录控制器 1.LoginActionAttribute类 public class LoginActionAttribute : ActionFilterAttribute { //判断是否是登录 public ...1.LoginActionAttribute类
public class LoginActionAttribute : ActionFilterAttribute { //判断是否是登录 public bool IsOk { get; set; } public override void OnActionExecuting(ActionExecutingContext filterContext) { if (IsOk) { return; } if (filterContext.HttpContext.Session["user"] == null) { filterContext.Result = new RedirectResult("登录页"); // filterContext.HttpContext.Response.Redirect("首页"); } } }
2.FilterConfig
public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { //全局过滤器 //filters.Add(new HandleErrorAttribute()); //给全局加自己写的特性(过滤器) filters.Add(new LoginActionAttribute()); } }
3.RouteConfig
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } }
4.Global
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); //AreaRegistration.RegisterAllAreas(); //RouteConfig.RegisterRoutes(RouteTable.Routes); //FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); }
5.登录控制器
[LoginAction(IsOk = true)]
-
Javaweb登录过滤器
2018-03-10 18:13:251、“登录过滤器”用途:1)防止在用户未登录的情况下来访问网站。2)举例:fire.html 这个网页是登录后才可以访问的,现在用户没有登录,直接可以访问fire.html。那么,这样的网站就存在安全问题?用户不用登录的...1、“登录过滤器”用途:
1)防止在用户未登录的情况下来访问网站。
2)举例:fire.html 这个网页是登录后才可以访问的,现在用户没有登录,直接可以访问fire.html。那么,这样的网站就存在安全问题?用户不用登录的情况下随随便便就访问。为了避免这样的情况,我们需要用过滤器来过滤一些需要登录后才可以访问的页面,可以理解为在门上加了一把锁。
2、实现操作:
1)简单一点,可以认定除了登录,注册页面,都需要过滤
2)判断用户有没有登录,已session为依据,来判断用户是否已登录。已登录,可以继续访问,没有登录返回到登录界面。
具体代码如下:
(1)LoginFilter.java
package com.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginFilter implements Filter{
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse response=(HttpServletResponse)servletResponse;
HttpServletRequest request=(HttpServletRequest)servletRequest;
HttpSession session=request.getSession();
Object object=session.getAttribute("currentUser");//获取session中作为判断的字段
String path=request.getServletPath(); //获取路径 request.getServletPath()返回:/main/list.jsp
// String path = req.getRequestURI();// 获得用户请求的URI, request.getRequestURI() 返回:项目名/main/list.jsp
if(object==null&&path.indexOf("login")<0){
//判断请求的 路径中是否包含了 登录页面的请求
//如果包含了,那么不过滤 继续执行操作
//如果不是login.jsp进行过滤
response.sendRedirect("forlogin.jsp");
}else{
filterChain.doFilter(servletRequest, servletResponse); // 已经登陆,继续此次请求
}
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}}
(2)web.xml
<filter>
<filter-name>loginFilter</filter-name>
<filter-class>com.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name><url-pattern>/*</url-pattern>
<!-- <url-pattern>/*</url-pattern> 表示所有文件都需要过滤
也可以写为--<url-pattern>/admin/*</url-pattern>这里的/admin/* 表示是指定路径下的文件需要过滤 >
</filter-mapping> -
Java 登录过滤器
2017-07-04 09:54:07登录过滤器通过对用户访问的URL进行判断是否已处于登录状态,来控制用户的访问。要实现登录过滤器主要有以下几个步骤。1.保存session在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意... -
Spring Boot 登录过滤器
2019-12-17 18:25:03登录过滤器&后台校验 1.登录过滤器 1.webapp下建login.jsp [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-206qzUyX-1576578059483)(C:\Users\Administrator\AppData\Roaming\Typora... -
IP过滤器与登录过滤器
2010-08-16 21:06:00IP过滤器作用:限制IP访问登录过滤器作用:当访问Welcome.jsp页面时,必须先登录jsp文件: My JSP 'Login.jsp' starting page -
authc登录过滤器的作用
2019-03-31 23:32:16authc登录过滤器的作用 1.自动登录 authc 过滤器执行过程中,首先判断的当前的请求路径是否等于loginUrl ,如果没有默认login.jsp . 如果当前的请求的路径等于loginUrl配置路径,执行登录操作,此时自动调用req.... -
用户登录过滤器
2014-02-12 09:44:29开发web项目,一般必须先登录成功才能进入主页,但在浏览器里直接输入主页地址,同样可以直接进入,毫无安全性可言,所以需要登录过滤器来过滤未登录用户到登录页面package com.*.util.filter;import java.io.... -
【二】登录过滤器
2020-04-07 11:14:42* 登录过滤器 */ @WebFilter(filterName="loginFilter",urlPatterns="/*") @Slf4j public class LoginFilter implements Filter { /** * 保存不拦截的url */ private static String[] passUrls =ign... -
单一登录过滤器
2014-06-20 17:13:58* 单一登录过滤器 * * @author vernon.chen */ public class SsoFilter implements Filter { private static Logger logger = LoggerFactory.getLogger(SsoFilter.class); // @Autowired private... -
对登录过滤器的理解
2020-08-04 20:48:06登录过滤器通过对用户访问的URL进行判断是否已处于登录状态,来控制用户的访问。大致步骤如下: 保存session 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占... -
idea+maven+springmvc 登录过滤器
2014-07-15 11:27:29idea+maven+springmvc 做的登录过滤器 请求拦截器 适合初学者使用,也可以直接应用与工程项目当中 -
servlet中配置登录过滤器
2017-09-25 10:43:20servlet中配置登录过滤器实现登录过滤主要依靠实现Filter接口,重写dofilter()方法实现。 话不多说,直接上代码 1、在WebContent中建立登录login.jsp和主页面main.jsp,login.jsp:; charset=UTF-8" pageEncoding... -
spring下登录过滤器的实现
2019-01-07 10:03:56登录过滤器 注意:使用不包括(css、js、png、bmp)为后缀的文件时可能需要在doFilter()方法中进行配置,防止文件被过滤器过滤掉 @author yeming */ public class LoginFilter implements Filter { public void init... -
ssm框架的登录过滤器
2019-01-25 11:35:47spring+springmvc+mybatis搭建的框架,实现用户登录与注册,过滤不经过登录访问项目中其他页面的请求 -
SpringBoot过滤器编写(简单登录过滤器为例)
2019-12-11 18:53:03首先,大家都知道在有web.xml文件的项目中,我们直接在web.xml文件中配置过滤器就可以了,然而springboot框架中一般没有web.xml文件,那么我们在springboot中仍然有两种方式配置过滤器。 方案一:通过注解的方式... -
Java丨简单的登录过滤器实现方法
2017-02-23 17:26:51今天来说道说道我们程序中的‘登录过滤器’ ,首先我们看看一下面的问题: 1、“登录过滤器”是干什么用的? 1)“登录过滤器”就是为了防止在用户没有登录的情况下来访问我们的网站。 2)举例:main.html 这个... -
实现登录过滤器功能
2011-06-01 21:53:00一个实现登录过滤器 的例子,仅供参考。
-
Kotlin协程极简入门与解密
-
add_layer.py
-
电商设计专业思维
-
soul网关系列(九):soul-admin与网关数据同步之http长轮询
-
30个生涯锦囊,带你跳出迷茫,找到适合你的职业方向
-
C语言程序设计专栏索引
-
软件设计实践.doc
-
API HOOK拦截指定进程发送和接收的网络数据包.zip
-
【数据分析-随到随学】Hadoop数据分析
-
HDTune_Pro_v5_6.zip
-
一起看看 Activity启动模式
-
EM算法
-
【数据分析实战训练营】Hive详解
-
信息系统项目管理师考前必做170题.pdf
-
转行做IT-第8章 类与对象、封装、构造方法
-
Notes.docx
-
方便简洁的截图软件#
-
shinkansen_east_bound210228.pdf
-
Laya 2.0 开发3D小游戏 入门教学
-
【数据分析-随到随学】数据分析基础及方法论