jQuery MiniUI

标题: miniui 如何处理session过期问题? [打印本页]

作者: liuwenfeng554    时间: 2015-3-26 19:40:23     标题: miniui 如何处理session过期问题?

本帖最后由 liuwenfeng554 于 2015-3-27 08:30 编辑

结合shiro安全框架后,发现访问某个无权限页面list,在grid初始化数据向后台发送请求时,后台方法有权限注解,并被拦截的情况下,浏览器控制面板也发送请求跳转到403页面,但是无权限gird页面接收请求提示"XXXX/page.htm........ json is erorr" 并未重定向403页面。是控件的问题吗?

步骤:
1、浏览器直接输入无权限地址:
http://localhost:8082/XXX/send.htm?page=user/list

2、跳转list.jsp,并请求初始化grid数据
<div id="list_grid" class="mini-datagrid list_table" style="width:100%;height:100%;" allowResize="true"
                url="${ctx}/user/page.htm" .........

3、请求后台方法:
@RequestMapping("/page")
        @ResponseBody
        @RequiresPermissions("user:list")
        public Map<String,Object> page(int pageIndex,int pageSize){
                return userService.userPage(pageIndex, pageSize);
        }

4、此时,shiro RequiresPermissions 检测无权限指向会生效
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
                <property name="securityManager" ref="securityManager" />
                <property name="loginUrl" value="redirect:/login.htm" />
                <property name="successUrl" value="redirect:/index.htm" />
                <property name="unauthorizedUrl" value="redirect:/send.htm?page=error/403" />

5、从而,重定向redirect:/send.htm?page=error/403,正常情况是直接跳转 403页面

但是,实际浏览器控制台输入发送请求:
POST http://localhost:8082/XX/user/page.htm 302 Found 247ms       
GET http://localhost:8082/XX/send.htm?page=error/403 200 OK 113ms

页面停留在列表页面,窗口跳出"/XX/user/page.htm  json is error."


作者: dforce    时间: 2015-3-27 09:27:38

看一下这个帖子
http://miniui.com/bbs/forum.php? ... &extra=page%3D1
作者: liuwenfeng554    时间: 2015-3-27 16:33:45

dforce 发表于 2015-3-27 09:27
看一下这个帖子
http://miniui.com/bbs/forum.php?mod=viewthread&tid=9190&extra=page%3D1

这种方式虽然写在list页面能跳转进入事件里  但是request.responseText 返回的结果是403页面的代码
作者: felt    时间: 2015-3-28 20:38:12

liuwenfeng554 发表于 2015-3-27 16:33
这种方式虽然写在list页面能跳转进入事件里  但是request.responseText 返回的结果是403页面的代码 ...

请在ajaxcomplete事件内,前台跳转




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2