- 注册时间
- 2014-10-11
- 最后登录
- 1970-1-1
- 阅读权限
- 10
- 积分
- 85
- 精华
- 0
- 帖子
- 20

|
本帖最后由 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."
|
|