0

私はkoaが初めてです。ユーザーとロールを備えたシンプルな管理パネルを実装したいと考えています。koa と rethink db でロールを管理するために利用できるパッケージはありますか? 基本認証に koa-passport を使用しています。

4

1 に答える 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 に答える