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

自定义拦截器开展登陆验证

2013-08-01 
自定义拦截器进行登陆验证package com.hpu.interceptorimport java.util.Mapimport com.hpu.model.Manag

自定义拦截器进行登陆验证
package com.hpu.interceptor;import java.util.Map;import com.hpu.model.Manager;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class LoginInterceptor extends AbstractInterceptor {@Overridepublic String intercept(ActionInvocation invocation) throws Exception {ActionContext acx = invocation.getInvocationContext();Map<String , Object> session = acx.getSession();// 获取Session里面的管理员Manager manager = (Manager) session.get("manager"); if(manager == null) {// 未登陆返回登陆界面return Action.LOGIN;} else {// 登陆后,继续执行return invocation.invoke();}}}

?配置拦截器:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.devMode" value="true" />    <constant name="struts.objectFactory" value="spring" />    <constant name="struts.i18n.encoding" value="gbk"/>        <!--不受权限控制的Action请求配置-->    <package name="non-authority" namespace="/" extends="struts-default" >        <default-action-ref name="login" />        <!-- 登陆界面的Action -->        <action name="login" method="login">        <result>/WEB-INF/manager/login.jsp</result>        </action>            </package><!--受权限控制的Action请求配置-->    <package name="manager" namespace="/manager" extends="struts-default">        <interceptors>        <!-- 定义一个登陆验证的拦截器 -->    <interceptor name="authority" />        <!-- 定义一个带有登陆验证的拦截器栈 -->    <interceptor-stack name="myStack">    <!-- 配置默认拦截器 -->    <interceptor-ref name="defaultStack" />    <!-- 增加登陆验证拦截器 -->    <interceptor-ref name="authority" />    </interceptor-stack>    </interceptors>        <default-interceptor-ref name="myStack" />        <global-results>    <result name="login">/WEB-INF/manager/login.jsp</result>    </global-results>        <action name="userAdd" method="add">        <result type="redirectAction"><param name="actionName">user_query</param><param name="room.id">${ user.room.id }</param><param name="pageNumber">1</param></result>        <result type="chain" name="input">user_intake</result>        </action>    </package></struts>

?

热点排行