您现在的位置:首页 > >

java 登录过滤_Java丨简单的登录过滤器实现方法

发布时间:

过滤过滤,实际就是把需要和不需要的东西分开!


今天来说道说道我们程序中的‘登录过滤器’ ,首先我们看看一下面的问题:


1、“登录过滤器”是干什么用的?


1)“登录过滤器”就是为了防止在用户没有登录的情况下来访问我们的网站。


2)举例:main.html 这个网页是需要通过login.html这个网页登录后才可以访问的,现在有一个用户没有登录,直接访问main.html成功了。那么,这样的网站是不是觉得不安全呢?用户不用登录随随便便就访问了。so,we have to need a filter.我们需要用过滤器来过滤一些需要登录后才可以访问的页面.


2、我们要怎么过滤呢?


1)at first ! 我们肯定要过滤掉需要登录的页面


2)我们拿到了需要登录的页面后,我们怎么判断用户有没有登录呢?so,we need a session .


3)已session为依据,来判断用户是不是登录过了。登录过了我们就让他继续访问,没有登录的我们就让他返回到登录界面。


下面我们来看看代码是如何实现的:


package com.haojieli.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 arg0, ServletResponse arg1,


FilterChain arg2) throws IOException, ServletException {


// TODO Auto-generated method stub


HttpServletRequest req = (HttpServletRequest)arg0;


HttpServletResponse resp =(HttpServletResponse) arg1;


HttpSession session = req.getSession();


// 获得用户请求的URI


String path = req.getRequestURI();


// 从session取得已经登录验证的凭证 我这里的demo用的是password来作为登录凭证


String password = (String) session.getAttribute("password");


// login.jsp页面无需过滤(根据自己项目的要求来)


//也可以path.contains("login.jsp")? 反正怎么精确怎么来就不多说了


if(path.indexOf("/login.jsp") > -1) {//注意:登录页面千万不能过滤? 不然过滤器就。。。。。自行调试不要偷懒!这样记忆深刻


arg2.doFilter(req, resp);


return;


} else {//如果不是login.jsp进行过滤


if (password == null || "".equals(password)) {


// 跳转到登陆页面


resp.sendRedirect("login.jsp");


} else {


// 已经登陆,继续此次请求


arg2.doFilter(req, resp);


}


}


}


public void init(FilterConfig arg0) throws ServletException {


// TODO Auto-generated method stub


}


}


在这里就不用解释代码了,代码中有详细的注释,但是重要的一点 我们过滤器是写好了 ,还需要配置啊,不然怎么运行呢?followe me。


将过滤器配置到web.xml里面


Login


com.haojieli.filter.LoginFilter


adminLogin


/admin/*


注意:登录页面不能过滤。。。自行调试不要偷懒!这样记忆深刻......


博文到此结束,感谢您的观看,希望对各位读者有所帮助,如果有什么意见以及建议请在评论留言......


======祝各位读者生活愉快======







相关资源:Java web过滤器验证登录防止未登录进入界面


热文推荐
猜你喜欢
友情链接: