`
will-vip
  • 浏览: 40905 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

AccessControlFilter

阅读更多

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;

 

 


public class AccessControlFilter implements Filter {


 protected FilterConfig filterConfig = null;


 public void destroy() {

  this.filterConfig = null;

 }

 

 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  HttpServletRequest req = (HttpServletRequest)request;
  String url = req.getRequestURI();
  if(url.endsWith("/index.jsp") || url.endsWith("/"))
   chain.doFilter(request, response);
  else {
   boolean validate = false;
         User user;
         if (req.getSession().getAttribute("user") != null) {
             user = (User)req.getSession().getAttribute("user");
             if (user.isLogin()!= null) {
                 validate = true;
             }
         }

   if(!valida) {
    req.getSession().setAttribute("reqUrl", url);
    HttpServletResponse res = (HttpServletResponse)response;
    res.sendRedirect(req.getContextPath()+"/index.jsp");
   } else {
    chain.doFilter(request, response);
   }
  }
 }


 public void init(FilterConfig filterConfig) throws ServletException {
  this.filterConfig = filterConfig;
 }

}

分享到:
评论

相关推荐

    javaweb实现的访问权限控制示例

    public class AccessControlFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException {} @Override public void doFilter(ServletRequest request, ...

    【ASP.NET编程知识】在Asp.Net Core中使用ModelConvention实现全局过滤器隔离.docx

    options.Filters.Add(typeof(AccessControlFilter)); }); ``` 然而,这种全局注册方式会导致MVC部分的控制器也受到过滤器的影响,即使我们可以在过滤器内部进行条件判断来区分MVC和WebAPI控制器。为了寻找一个更...

    win-unpacked.rar

    Shiro提供了多种认证和授权策略,如RememberMe服务可以实现用户下次自动登录,而AccessControlFilter则负责拦截请求,进行权限校验。 在"zb-shiro"这个文件中,我们可以看到实际的Shiro配置示例和应用代码。这可能...

    Tomcat Web.xml 详解

    <filter-class>com.mycomp.AccessControlFilter</filter-class> <param-name>loginPage <param-value>/login.jsp <filter-name>accessControl <url-pattern>/protected ``` - 作用:过滤器是在...

    六个有用的java过滤器

    public class AccessControlFilter implements Filter { private String[] allowedRoles; public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws ...

    特殊情况(ActionForm,Servlet, Filter, Listener)下Spring如何注入对象

    在Spring框架中,依赖注入(Dependency Injection,DI)是一种核心特性,它允许对象之间的依赖关系在运行时由Spring容器管理,而不是由代码直接创建。在SSH(Struts、Hibernate、Spring)整合的Web应用中,Spring的...

    在Asp.Net Core中使用ModelConvention实现全局过滤器隔离

    从何说起 这来自于我把项目迁移到Asp.Net Core的过程中碰到一个问题。在一个web程序中同时包含了MVC... options.Filters.Add(typeof(AccessControlFilter)); }); 但这样做会带来一个问题,那就是MVC部分控制器也会受影

    userLogin:一个简单的用户登录

    login.jsp,LoginControl和AccessControlFilter 实现网页访问控制的常规结构。 当然涉及许多对象。 基本上,我在这里使用过滤器来阻止未经身份验证的用户,并且只公开登录页面。 我花更多时间感兴趣的部分是...

    shiro无状态web集成的示例代码

    5. **StatelessAuthcFilter**:这是一个定制的认证过滤器,继承自`AccessControlFilter`。`isAccessAllowed()` 总是返回`false`,迫使每次请求都进行认证。`onAccessDenied()` 方法处理未通过认证的情况,其中`...

Global site tag (gtag.js) - Google Analytics