-1

我正在開發一個項目,需要使用多個角色​​。我需要在這些角色的每一個上使用不同的權限集。例如,角色管理員可以有權限 - >瀏覽量詞條編輯PageCreate,而角色觀衆有permissions->瀏覽量只。Angular Js中的基於角色的授權

與每個用戶相關的角色都存儲在數據庫中,我計劃使用轉換對象功能來確保哪個角色與哪個用戶相關聯。

我是新來的角,不能找出一種方法來定義一個角色,我可以, 1.鏈接多個權限, 2.將它與轉換屬性(動態函數)相關聯。

回答

0

對於基於角色的授權,您必須管理您的app.configapp.run文件。簡單地套用以下設置:

app.config文件:

$routeProvider.when('/', { 
     templateUrl: 'views/dashboard.html', 
     resolve: { 
      "currentAuth": [ "authService", function(authService) { 
       var auth = authService.auth(); 
       return auth; 
      }] 
     } 
    }); 


app.run([ authService, function(authService) { 

     if (role === "admin") { 
      // Use changeSuccess method on route to redirect. 
     } 

} ]); 

並在authService從數據庫中獲取的角色。在authservice添加方法:

function functionName(user){ 
if (user) { 
    if (!!~this.roles.indexOf('*')) { 
     return true; 
    } else { 
     for (var userRoleIndex in user.roles) { 
      for (var roleIndex in this.roles) { 
       if (this.roles[roleIndex] === user.roles[userRoleIndex]) { 
        return true; 
       } 
      } 
     } 
    } 
} else { 
    return this; 
} 
return false; 

}

+0

我需要做這個模塊的動態,這樣即使在運行時添加的角色,在代碼中沒有太大的變化應該需要做。如果我爲每個角色使用=='角色',我將不得不對每個添加/刪除的角色進行更改。你能提一下這方面的解決方案嗎? – shreya