angularjs实现url权限控制

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

目前能找到的权限控制都是通过resolve解决的,但需要每个controller都写相关的代码。网上找了一些资料,通过$routeChangeStart和$routeChangeSuccess实现url切换控制和权限控制。

  1. 首先定义不需要管理员的url数组和判断是否为此类url的方法
var frontUrls = ['/statisticsIndex', '/statisticsDetail'];window.isFront = function (currentPath) {var front = false;for (var i = 0; i < frontUrls.length; i++) {var frontUrl = frontUrls[i];if (currentPath.indexOf(frontUrl) > -1) {front = true;break;}}return front;}
  1. $rootScope增加$routeChangeStart的监听方法。 如果要访问的url需要管理员权限,那么再判断当前用户是否有管理员权限,如果没有则提示用户并刷新页面到主页,否则就到相应的页面
$rootScope.$on('$routeChangeStart', function () {var front = isFront($location.path());if (!front) {var canManager = ichsonService.canManager();if (!canManager) {alert("您没有权限访问当前页面!");window.location.reload();}}
});

这种方式,相对resolve,涉及的js文件改动会少很多,只需要增加frontUrls中的值就可以适应增加url的场景。

转载于:https://my.oschina.net/sannychan/blog/541742


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部