使用拦截器来检测用户是否登录

本文介绍了在B/S系统中如何利用Struts2的拦截器机制来检测用户登录状态。当用户尝试访问受保护的页面时,拦截器会检查其登录状态,未登录则重定向至登录页面。
摘要由CSDN通过智能技术生成

在任何一个系统中,都会有登录界面,因为只有通过验证的用户才能访问网络上的资源,在桌应用程序中,系统的入口就只有一个,那就是main函数,但是在b/s这种结构中,我们可以向服务器请求任何一个页面,也就是说有多个入口,那么我们如何限制用户只能通过登录这个界面进入系统呢,实现的方法有很多,现在介绍一种比较常用的方法,使用structs2中的拦截器:

 

首先我们定义一个拦截器:

public class MyInterceptor implements Interceptor
{

	public void destroy()
	{
		// TODO Auto-generated method stub
		System.out.println("拦截器销毁!");

	}

	public void init()
	{
		// TODO Auto-generated method stub
		System.out.println("拦截器初始化");

	}

	public String intercept(ActionInvocation invocation) throws Exception
	{
		// TODO Auto-generated method stub
		System.out.println("拦截器开始验证!");
		if(LoginAction.class==invocation.getAction().getClass())
		{
			return invocation.invoke();
		}
		User user=(User)invocation.getInvocationContext().getSession().get("user");
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值