首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

SSH过滤登录有关问题,只能过滤jsp,为什么不能过滤action啊

2012-02-20 
SSH过滤登录问题,只能过滤jsp,为什么不能过滤action啊?我想让用户登录之后才能操作其他的东西,没有登录什

SSH过滤登录问题,只能过滤jsp,为什么不能过滤action啊?
我想让用户登录之后才能操作其他的东西,没有登录什么都不能做。

但是我这里只能拦截jsp,为什么action就不能拦截呢?如果我在地址栏中输入一个action地址,它就拦截不到了。

请教一下,该怎么改?(这里action的后缀改成了.dzquota的,在web.xml配置了的)


这是filter的代码:

Java code
String targetURL = path.substring(path.indexOf("/", 1), path.length()); // 截取到当前文件名用于比较        String refer = request.getHeader("Referer");            if ("/mylogin/mylogin_tologin.dzquota".equals(targetURL)                || "/WEB-INF/jsp/login/login.jsp".equals(targetURL)                || (null != session && null != session                        .getAttribute(UserConstants.DEFAULT_CERT_CODE_FLAG))) {            chain.doFilter(request, response);        }        // 未登录/session过期        else {            response.sendRedirect(request.getContextPath()                    + "/mylogin/mylogin_tologin.dzquota");            return;                    }




这是在web.xml的配置:

XML code
<filter-name>auth</filter-name>     <filter-class>com.quota.core.web.filter.AuthFilter</filter-class>     </filter>        <filter-mapping>        <filter-name>auth</filter-name>        <url-pattern>*.jsp</url-pattern>        <dispatcher>REQUEST</dispatcher>        <dispatcher>FORWARD</dispatcher>    </filter-mapping>    <filter-mapping>        <filter-name>auth</filter-name>        <url-pattern>*.dzquota</url-pattern>        <dispatcher>REQUEST</dispatcher>        <dispatcher>FORWARD</dispatcher>    </filter-mapping>





[解决办法]
不可能,你吧
<url-pattern>*.dzquota</url-pattern>
改为
<url-pattern>*.do</url-pattern>
测试看看,如果都不能过滤,那说明是你程序的问题

[解决办法]
action的后缀的配置更改成这样了吧:
Java code
  <servlet-mapping>    <servlet-name>action</servlet-name>    <url-pattern>*.dzquota</url-pattern>  </servlet-mapping>
[解决办法]
配置成<url-pattern>/*</url-pattern>不就可以了啊

[解决办法]
顺便问问
*.dzquota 是啥东东?
[解决办法]
JSP页面放到WebRoot下面,直接只对action拦截就可以了。。
[解决办法]
Spring Security
[解决办法]
如果用strut2的话,用拦截器控制

热点排行