`
devon.k
  • 浏览: 88447 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用Struts2的Interceptor进行简单的(登陆)权限管理

阅读更多
1.新建一个拦截器(Interceptor)
package cn.devon.interceptor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class LoginInterceptor extends AbstractInterceptor {	
	
	public String intercept(ActionInvocation invocation) throws Exception {
		ActionContext ctx= invocation.getInvocationContext();

		//如果未登陆,则跳转到登陆页面
		if( null == ctx.getSession().get("L_Member")){		
			return "loginPage";
		}else
			return invocation.invoke();
	}
}


2.配置struts.xml,设置拦截器作用范围(此处作用于“adminModul package中所有的action”)
<package name="adminModul" extends="struts-default" namespace="/admin">
	<interceptors>
		<interceptor name="loginInterceptor" class="cn.devon.interceptor.LoginInterceptor"/>
	</interceptors>
					
	<default-interceptor-ref name="loginInterceptor"/>		
	<global-results><!-- 配置全局返回页面 -->
		<result name="loginPage" type="redirect">/login.jsp</result>
	</global-results>

	<action name="articles" class="articleAction" method="list">
		<result name="success">adminArtilceList.jsp</result>
		<result name="error">error.jsp</result>
	</action>	
         ...
</package>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics