我有个后台管理,我不想让用户不登陆直接进去
我用的是过滤器,但我只想控制后台管理
那位能提一点思路啊

解决方案 »

  1.   

    有不对的地方请指正:
    细粒度权限控制:
    方案1。如果用struts2,可以用拦截器实现对特定action的拦截
    方案2.用spring管理struts1
    重写PrivilegeRequestProcessor的processActionPerform()在执行exexute前加一个验证
    struts-config.xml配置的
    <controller>
         <set-property property="processorClass"           value="cn.itcast.web.action.privilege.PrivilegeRequestProcessor"/>
    </controller> 
    换成你重写后的RequestProcessor
      

  2.   

    就是说别人不通过登陆,通过路径访问action,我就是想不他让访问,把它过滤掉
      

  3.   

    你可以在过滤器里面实现这个功能
    假如你等路后台的入口连接是admin.jsp或者是一个action
    你只要拦截住这个请求就可以了
    如:
    在过滤器里这么写
    String url = request.getRequestURL();
    if(url.indexof("admin.jsp")!=-1){
    //表示访问到后台了
    //在这里判断该用户是否登陆,若没有登陆
    //跳转到登陆页面
    if(!islogin){
    //没有登陆
    response.sendRedirect("login.jsp");
    return;
    }
    //若登陆了,则放行
    }
    //若是没有访问到后台,则放行
      

  4.   

    spring有个security机制,也可以拿来直接用