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

本文介绍如何在Struts2框架中通过自定义拦截器(LoginInterceptor)实现用户登录验证功能,并将未登录用户导向登录页面。此外,还介绍了如何在struts.xml配置文件中设置拦截器的作用范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值