2016-10-21 10 views
0

私はapiへのアクセスを制限する方法に関する一般的なアイデアを探しています。認証が実装されており、一部のリソースが認証済みのユーザーにロックされています。しかし、どのように私は許可を作成し、特定のアプリの許可を与えるので、そのアプリの各ユーザーは異なるアクセス許可を持つことができますか?エクスプレスAPIのアクセスを制限する方法は?

すなわち

app.get('/users', (req, res) => { 
var permissions = {'users_read'}; 
if(permissions.indexof('token_flags')!=-1){ 
...} else{return false} 
}); 

又は

app.post('/users', permissions('users_read'),()=>{ 
... 
}); 

USER1:users_read

USER2:users_readusers_execute

USER3:settings_read

ADMIN1:インデックスまたはキーはその後、ちょうどセットautorizedユーザーは、配列のように値として入力するようaccess_all //ユーザー1 & 2及び管理者は、API resonseを取得します、ではない

+0

"the api"?どのAPIですか? – Liam

+0

エクスプレスで@Liam安らかなAPI –

答えて

0

あなたがオブジェクトにページを保存することができUSER3

var user_type = 1; // 1: user, 2: staff, 3: admin 

var permissions = { 
    'users_read': [1, 2, 3], 
    'users_execute': [2, 3], 
    'settings_read': [3] 
}; 


app.get('/users', (req, res) => { 
    var page = 'users_read'; 
    if(permissions[page].indexOf(user_type) != -1){ 
     // autorized 
    } else{ 
     return false 
    } 
}); 
関連する問題