angularjs許可權細粒度怎麼做到按鈕級別?

看到網上很多通過以下方法來解決

$routeProvider

.when("/register", {

templateUrl: "views/register.html",

controller: "RegisterController",

access: {

authorizedRoles: [USER_ROLES.all]

}

})

但是不能符合多少的角色以及角色變更

以下想法是基於J2EE,apache shiro.

目前想到的只是通過sae.js模塊化載入..伺服器後端通過shiro標籤過濾生成angularjs的js和jsp模版..

用戶訪問的url已經是過濾完的內容.已達到許可權控制的效果..不知道有人嘗試過么


角色,用戶,許可權。

我們自己做的是每一個角色給他不同的許可權,許可權包括模塊和按鈕。

直接存成json串保存在DB中,載入的時候依據角色來判斷模塊和按鈕的顯示。

提交請求的時候統一有過濾器來判斷是否有許可權。


我的理解,不知道對不對,一般來說不應該通過選擇渲染相關DOM與否,或disable相關DOM組件來控制許可權,也就是說前端其實是不可控的,不要做後端應該做的事。

你的後台服務,應該可以在用戶可以隨意控制你的DOM,JS,http請求,知道所有對外service API的假設下,仍然保證不泄露信息,不執行未許可操作。


哎知乎的編輯對代碼格式太不友好了,我懶得改了,見諒

同意 @Acceyuriko

後端只用於登陸時返回用戶許可權,前端記錄用戶許可權並反映與頁面上

我這裡就只提供一點乾貨來解釋一下流程

如果你想要在前端控制許可權,那麼最簡單的做法就是註冊一個service, service內記錄用戶的資料許可權

angular.module("service.userInfo",[]).service("userservice",[function(){

return{

this.user = null

}

})

&

&

//如果user是visitor就disable

&

你用AngularJS 做過項目後,下一個項目還用AngularJS嗎?
關於 AngularJS 框架的使用有哪些經驗值得分享?
求助,用angularJs實現下圖功能?
有了 Angular 之類的 MVC/MVVM 框架是不是可以不學 DOM 了?或者只需簡單了解一下 DOM?
Angular js 初學者該看什麼書啊? ?

TAG:JavaScript | Apache | JavaEE | AngularJS |