当前位置:编程学习 > JAVA >>

关于struts2 易做图的问题。希望各位大大帮忙解答一下。

这个易做图的作用是,未登陆的用户跳到登陆页面,登陆用户则可以通过。而这个易做图是能起到作用的,但有个缺点:如果我一开始就登陆然后进拦截页面,他会顺利通过,易做图好使。如果清空Session后,然后让他拦截一次,你再登陆它还是照样拦截。
附上代码:易做图代码
public class CheckUserInterceptor implements Interceptor {
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
//System.out.println("qwerqwerqwrqwerqwe");
Map<String,Object> session = invocation.getInvocationContext().getSession();
String userName = (String)session.get("username");
System.out.println("****"+userName);
if (null != userName) 
{
            return invocation.invoke();
        }
           return Action.LOGIN;

}
}
Struts里面易做图的布置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<package name="user" extends="struts-default" namespace="/allweb">

<interceptors>
        <!-- 定义权限控制易做图 -->
        <interceptor name="checkuser" class="com.goldenroom.interceptor.CheckUserInterceptor"/>
        <!-- 定义一个包含权限控制的易做图栈 -->
        
        <interceptor-stack name="checklogin">
                <interceptor-ref name="defaultStack" />
                <interceptor-ref name="checkuser" />
            </interceptor-stack>
        
        </interceptors>
        
           <!-- 定义默认易做图 -->
        <default-interceptor-ref name="checklogin" />
        
        
        <!-- 定义全局处理结果 -->
        <global-results>
        <!-- 逻辑名为login的结果,映射到/notlogon.html页面 -->
        <result name="login">/allweb/notlogon.html</result>
        </global-results>
        
<action name="user" class="com.goldenroom.actions.UserAction">
<result name="showbook">orderbook.jsp</result>
<result name="orders">ordersuccess.jsp</result>
<result name="manager">manager.jsp</result>
<result name="changpwds">pwdsuccess.jsp</result>
<result name="changemails">emailsuccess.jsp</result>
<result name="exit">out.jsp</result>
</action>
</package>

</struts>
求解答啊,这个问题折磨人呀................... --------------------编程问答-------------------- 求解答啊 --------------------编程问答-------------------- 首先,你知道你使用易做图的目的吗?session都被清空了,也没有标识了,怎么不被拦截
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,