CRM客户关系管理系统开发第二十一讲——CRM客户关系管理系统的权限拦截器

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/yerenyuan_pku/article/details/102764930

现在CRM客户关系管理系统的大部分功能都已经实现了,但是如果有人知道后台的地址,直接可以不用登录就可以进行相关的操作。那这样是不合理的,所以我们需要进行登录的权限的校验。因为我们写的链接都提交到了Action中,所以可以编写拦截器实现该功能。

编写登录权限拦截器

在com.meimeixia.web.interceptor包下新建一个登录权限拦截器。

package com.meimeixia.crm.web.interceptor;

import org.apache.struts2.ServletActionContext;

import com.meimeixia.crm.domain.User;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

/**
 * 权限拦截器
 * @author liayun
 *
 */
public class PrivilegeInterceptor extends MethodFilterInterceptor {

	@Override
	protected String doIntercept(ActionInvocation invocation) throws Exception {
		//判断session中是否有登录用户的信息
		User existUser = (User) ServletActionContext.getRequest().getSession().getAttribute("existUser");
		if (existUser == null) {
			//存入一个错误信息,然后页面跳转到登录页面
			ActionSupport actionSupport = (ActionSupport) invocation.getAction();
			actionSupport.addActionError("您还没有登录!没有权限访问");
			return actionSupport.LOGIN;
		} else {
			//说明用户已经登录了
			return invocation.invoke();
		}
	}

}

配置拦截器

在struts.xml文件中配置好上面我们所编写的登录权限拦截器。
在这里插入图片描述
至此,一个简单的CRM客户关系管理系统,我们就算是开发完了!最后,感谢阅读,希望读者能够看懂,有所疑问可以留言。

猜你喜欢

转载自blog.csdn.net/yerenyuan_pku/article/details/102764930