|
基本功能就是检查用户是否已经登录
-
配置拦截路径
<!-- 用户权限拦截器生成代理 --> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <!-- 需要拦截检查用户登录的action,这些action已经在 spring配置 --> <value>/field/*</value> <value>/price/*</value> <value>/locale/*</value> </list> </property> <property name="interceptorNames"> <list> <value>userAuthorityInterceptor</value> </list> </property> </bean> <!-- 定义用户权限检查拦截器 --> <bean id="userAuthorityInterceptor" class="net.yanhl.struts.authority.UserAuthorityInterceptor"/>
这里主要是配置拦截URL路径,进入ACTION之前会先进入UserAuthorityInterceptor判断用户是否登录
-
前端JS文件
这是我们要设置全局的一个ajaxSetup来控制所有ajax请求,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
$.ajaxSetup({ cache : false, global : true, complete: function(req, status) { var reqText = req.responseText; // 如果后台返回的是login字符串则可以跳转到登录页面 if(reqText && reqText == 'login'){ var topWinObj = getTopWin(); topWinObj.location.href = '/exercise/login.html'; } } }); /** * 获得最上层的window对象 */ function getTopWin() { if(parent) { var tempParent = parent; while(true) { if(tempParent.parent) { if(tempParent.parent == tempParent) { break; } tempParent = tempParent.parent; } else { break; } } return tempParent; } else { return window; } }
OK,启动服务测试,在没有登录的情况下打开主页面,执行一个保存动作发现直接跳转到了登录页面