私はkoaが初めてです。ユーザーとロールを備えたシンプルな管理パネルを実装したいと考えています。koa と rethink db でロールを管理するために利用できるパッケージはありますか? 基本認証に koa-passport を使用しています。
1006 次
1 に答える
3
あまり情報が提供されていませんが、始めるのに役立つように努力します。
Passport は、認証、つまりログイン/ログアウトのためだけのものです。
認証システム(管理パネルの表示を許可されているかどうかなど、ユーザーに許可されていることを決定するシステム)が必要なようです。このシステムは、認証システムに触れる必要はありません。
最も簡単な解決策は、常に、(デフォルト)、またはにrole
設定されているフィールドを users テーブルに追加することです。"ADMIN"
"MEMBER"
"BANNED"
Passport を使用して、ユーザーがログインしている場合は、それらをリクエストに添付します。
if (user) {
req.user = user;
}
user.role
ルートで、承認チェックを実装するためにチェックすることができます:
app.get('/admin', function(req, res) {
// Send a 403 Forbidden error if the user is not an ADMIN
if (!req.user || req.user.role !== 'ADMIN') {
return res.status(403).send('Unauthorized');
}
res.render('admin.html', { data: ... });
});
これは非常に基本的ではありますが、役割ベースの承認システムの基礎です。
于 2016-02-04T16:29:26.827 に答える