php extjs权限树,extjs的权限问题要求控制的对象是菜单,按钮,URL

解题思路1 : 重载Connection类

由于extjs和server端交互全都是 json格式的数据交互,server端不会控制页面的跳转,页面跳转,提示功能全都有extjs来完成。

extjs和server端的交互方法全都是继承自 Ext.data.Connection,这个类中可以拦截所有和server端交互的方法。

server端的权限控制用acegi做的,如果没通过acegi的验证,没有授权会返回到403.jsp,需要重登录会返回到 login.jsp。

因此重载Connection类,并改写其中的 handleResponse 方法,判断返回的结果是否是 403.jsp,login.jsp, 如果是就进行相应的控制,如果是正常的返回数据就继续向下执行。

我个人在403.jsp 和login.jsp 的第一行加上了 注释代码,就是靠这个关键字来工作的

代码如下://此处重载了Cunnection方法,用来拦截client与Server的交 互,

//后台acegi拦截用户请求后,如果无权限,返回403.jsp;如果没登录,返回login.jsp;

//通过Acegi拦截 后,才返回用户想要的Json结果

Ext.override(Ext.data.Connection, {

handleResponse : Ext.data.Connection.prototype.handleResponse.createInterceptor(

function(response) {

var resText=response.responseText;

if (resText.length>10) {

resText=resText.substr(0,9);

}

if (resText=='

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值