security在前后端分离开发中,拒绝访问的处理

前端h5+js:页面导航交给前端,数据请求全部通过js完成,静态资源的请求security全部放开

    后端security + springmvc:后端接口与前端交互,有权限返回请求数据和请求状态的响应,无权限依然按照 security配置的拒绝页面返回

       这里就有个问题了。js请求的资源没有权限的时候,得到返回的内容是拒绝页面的内容,如何把这部分内容加载成页面我不太清楚。

我这里是添加对http响应的统一处理来解决:

//http请求 和 响应的拦截,统一处理
secDemoApp.factory("InterceptorHttp", [function () {
    return {
        responseError: function (response) {
            //服务器响应请求失败:server status !=200
            // 请求未进入方法或者有异常
            if(response.status == 403){
                //security拦截后返回的data为异常页面内容,这里不使用data,
                //判断server status=403直接转到静态拒绝页面
                window.location.href =  baseUrl+viewPath.denied;
            }
            //其他原样返回
            if (response.status == 500) {
                return response;
            }
            if (response.status == 404) {
                return response;
            }
            return response;
        },
        request: function (request) {
            //前端请求发起,处理request后再请求服务器
            return request;
        },
        response: function (response) {
            //服务器响应请求成功:请求进入方法 server status =200
            //处理请求数据或者逻辑错误, 异常被catch后的响应,回送数据code值自定义
            //这里 全部原样返回,如果有需要,再单独判断并做处理
            if (response.data && response.code == 500) {
                return response;
            }
            //统一的错误处理
            if (response.data && response.code == 403) {
                return response;
            }
            return response;
        }
    };
}]);

 

转载于:https://my.oschina.net/u/2471663/blog/810735

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值