Struts中用Filter实现每个页面的登录验证(转)
2012-07-24 14:47
357 查看
首先写一个权限过滤filter
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
public class RightFilter
implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
//从session里取的用户名信息
String username = (String) session.getAttribute("username");
//判断如果没有取到用户信息,就跳转到登陆页面
if (username == null || "".equals(username)) {
//跳转到登陆页面
res.sendRedirect("http://"+req.getHeader("Host")+"/login.jsp");
}
else {
//已经登陆,继续此次请求
chain.doFilter(request,response);
}
}
public void destroy() {
}
}
然后在web.xml里配置那些JSP文件需要登陆权限验证:
1.如果是某个具体的JSP文件(如a.jsp)需要登陆验证
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a.jsp</url-pattern>
</filter-mapping>
...
</web-app>
2.如果是某一个目录(如a/目录)整个目录下的文件都需要登陆验证:
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a/*</url-pattern>
</filter-mapping>
...
</web-app>
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
public class RightFilter
implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
//从session里取的用户名信息
String username = (String) session.getAttribute("username");
//判断如果没有取到用户信息,就跳转到登陆页面
if (username == null || "".equals(username)) {
//跳转到登陆页面
res.sendRedirect("http://"+req.getHeader("Host")+"/login.jsp");
}
else {
//已经登陆,继续此次请求
chain.doFilter(request,response);
}
}
public void destroy() {
}
}
然后在web.xml里配置那些JSP文件需要登陆权限验证:
1.如果是某个具体的JSP文件(如a.jsp)需要登陆验证
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a.jsp</url-pattern>
</filter-mapping>
...
</web-app>
2.如果是某一个目录(如a/目录)整个目录下的文件都需要登陆验证:
<web-app>
...
<filter>
<filter-name>right</filter-name>
<filter-class>com.taihuatalk.taihua.common.common.RightFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/a/*</url-pattern>
</filter-mapping>
...
</web-app>
相关文章推荐
- Struts中用Filter实现每个页面的登录验证
- filter实现登录验证,并实现页面跳转到登录前浏览的页面(同步异步皆可)
- 用struts拦截器实现登录验证功能AuthorizationInterceptor
- ASP.NET MVC使用Filter实现页面验证与授权
- Struts+Ajax实现登录验证
- ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
- Filter二(利用Filter实现简单的登录验证)
- .net登录页面实现验证码验证
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- ASP.NET jQuery 食谱11 (通过使用jQuery validation插件简单实现用户登录页面验证功能)
- 实现session登陆时间的验证,验证用户登录页面的一个监听器
- 【Java基础】采用Filter实现AOP完成统一登录验证
- myeclipse+struts登录界面 之 实现客户端验证
- myeclipse+struts登录页面 之 链接数据库验证(oracle)
- 前台ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- mvc 继承Controller类,每个控制器都继承它,实现统一验证登录
- 登录页面实现客户端验证、客户端验证是如何实现的?
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- struts中用拦截器实现登录验证功能AuthorizationInterceptor