2017-11-18 90 views
0

我在我的項目中實現了feathers-authentication-hooks,並且它正在驗證包含角色的自定義用戶列。現在我想讓它爲每個用戶提供更多的角色。我已經嘗試多種格式的數據庫列,但都失敗了:feathers-authentication-hooks:restrictToRoles具有多於一個角色的用戶

的數據格式(每行確切格式): role1, role2 role1; role2 [role1,role2] {"column_name": ["role1","role2"]}

沒有人知道我需要做什麼?

回答

0

該軟件包中的大部分鉤子都可以通過相同數量的代碼手動實現,並且所需的時間少於閱讀文檔所需的時間。在這種情況下,您可以使用像下面這樣的自定義鉤子:

const { Unauthorized } = require('feathers-errors'); 

return function() { 
    return function(context) { 
    if(context.params.user.roles.indexOf('admin') === -1) { 
     throw new Unauthorized('You are not allowed to access this'); 
    } 
    } 
} 
+0

Hi Daff。這個工作,但我需要微調它,因爲它不檢查完整的角色名稱,如果列表將逗號分隔例如。如果不同的角色在其中包含該文本,則該索引也會返回。我發現feathers-authention-hooks對角色的限制也是這樣做的(它的代碼是snippit)。我認爲這樣做就像'context.params.user.roles.split(',')。indexOf('admin')'會更好 – Edgar

+0

當然,我的觀點是,調整到任何你需要的更容易,而不是挖掘文檔和其他人的代碼。 – Daff

相關問題