2016-05-09 16 views
0

私は学校用のアプリケーションを開発しており、ループバックを使用してWeb APIを開発することにしました。私のアプリには2種類のユーザーがいます:教師と学生。私はループバックがデフォルトで私のユーザーモデルを提供していることに気がつきました。それは変更できないようです。これをどのように実装できますか?教師と生徒の2つのテーブルを作成し、それをUsersテーブルに関連付けますか?これを行うと、このテーブルを使用してセキュリティルールを設定できますか?どうしたらいいですか?あなたは非常に多くのループバック - さまざまなタイプのユーザーを実装する方法

+0

ノートに設定を追加し、唯一の教師のためのアクセス権を持っている(のがレッスンを言わせて)docs

//create user User.create({ username: 'Obama', email: '[email protected]', password: 'opensesame' }, function(err, user) { if (err) return cb(err); //create the teacher role Role.create({ name: 'teacher' }, function(err, role) { if (err) cb(err); //make obama a teacher role.principals.create({ principalType: RoleMapping.USER, principalId: user.id //obama id }, function(err, principal) { cb(err); }); }); }); 

、ロールを使用します組み込みモデル(Userなど)を変更することはできませんが、(https://docs.strongloop.com/display/public/LB/Extending+built-in+models)それらを拡張することができます。非常に一般的なシナリオ。つまり、@Medetが提案したように、私は[役割](https://docs.strongloop.com/display/public/LB/Defplay+and+using+roles)に行きます。なぜなら、教師/学生は実際にはユーザーの役割彼らは両方のユーザー名、電子メール、パスワードなどを持っています。彼らはちょうど異なる能力を持っています。少なくともそれは最初の視界でどのように見えるかです。常にあなたのシナリオに依存します。 –

答えて

1

おかげloopback:user間drastical差がある場合を除き、別のユーザーテーブルを作成する必要はありません、ループバックは、組み込みのヘルパー(電子メールの確認、パスワードの回復、パスワードの強度、ユニークユーザー名)の多くを与えるので、 。あなたのケースでは、より良いそして、あなたには、いくつかのルートが必要な場合は、そのmodels/lesson.jsonモデル

{ 
    "accessType": "EXECUTE", 
    "principalType": "ROLE", 
    "principalId": "teacher", // <== role 
    "permission": "ALLOW", 
    "property": "find" 
} 
関連する問題