SSH与SSM学习之登录校验拦截器
程序员文章站
2022-09-02 23:39:22
SSH与SSM学习之登录校验拦截器
一、图示
除了调用登录、注册、上传文件(因为这个单独的,和其他没关),这三个方法外,其他的方法调用的时候
都需要登录验证。主要的操作方式就...
SSH与SSM学习之登录校验拦截器
一、图示
除了调用登录、注册、上传文件(因为这个单独的,和其他没关),这三个方法外,其他的方法调用的时候
都需要登录验证。主要的操作方式就是通过拦截器来实现的。
二、PrivilegeInterceptor
/** * @author:qiwenming * @date:2017/12/3 0003 * @description: * 登录的验证 */ public class PrivilegeInterceptor extends MethodFilterInterceptor { //不校验登陆和注册方法 @Override protected String doIntercept(ActionInvocation invocation) throws Exception { //1 获取session //2 获取登录标识 //3 判断标识是否存在 Map session = ActionContext.getContext().getSession(); User user = (User)session.get("user"); if(user!=null){ //存在-->放行 return invocation.invoke(); }else { //不存在---> 重定向到登陆页面 return "toLogin"; } } }
三、PrivilegeInterceptor配置
主要在 struts.xml 中添加如下配置
................... login,regist,uploadFile ...................
四、struts.xml 配置说明
struts.xml 中的 package中配置的顺序是有要求的,如下:
result-types? interceptors? default-interceptor-ref?, default-action-ref? default-class-ref? global-results? global-allowed-methods? global-exception-mappings?, action*
如果不按这个顺序配置,会出错的。
struts.xml的配置如下
login,regist,uploadFile /login.jsp regex:.* /index.html /login.jsp /regist.jsp /jsp/customer/add.jsp /jsp/customer/list.jsp /CustomerAction_list /jsp/upload.jsp /jsp/linkman/add.jsp /jsp/linkman/list.jsp /LinkManAction_list
五、源码下载
https://github.com/wimingxxx/ssh_crm
上一篇: linux安装python3和paramiko的教程
下一篇: 安全观之我见(三):省银之道在预防