现在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客户关系管理系统,我们就算是开发完了!最后,感谢阅读,希望读者能够看懂,有所疑问可以留言。