で複数のユーザーの役割を確認するために「)(passport.isAuthenticated」を使用すると、ここに私のisAuthenticated
機能です:Nodejs
var isAuthenticated = function (req, res, next) {
if (req.isAuthenticated()) return next();
res.redirect('/');
};
そして、ここではPassportJsにisAuthenticated()
機能を使用してビューをレンダリングするためのルートです。
router.get('/', isAuthenticated, function (req, res, next) {
res.render('dashboard');
});
このisAuthenticated
機能は、ログインしているすべてのユーザーのビューを表示します。同様に、私は他のいくつかのビューには管理者しかアクセスできないようにしたい。この場合、別の戦略や機能を作成するのではなく、これを達成するために同じ機能を使用できますか?
isAuthenticated
関数のパラメータとしてuserロールを指定し、要求内のユーザオブジェクトがパラメータで指定されているのと同じ役割を持っているかどうかをチェックする関数内で追加チェックをしますか?または別の別の機能/戦略を書くことを避けるための他の同様の方法ですか?また、好ましい方法は何ですか?&ベストセラーですか?もし誰かが詳細に説明できるのであれば、私は感謝します。
おかげで、としての権限をチェックしますが、私ができビットの混乱があると思う。 'isAuthenciated'は、認証されたユーザだけがアクセスする必要があるすべてのルートに対してミドルウェアとして使用するグローバルな関数です。ページ(ダッシュボードなど)があり、管理者だけがアクセスできるので、ここで同じ機能を使用するにはどうすればいいですか? – adi
isAuthenticatedは、ユーザーがWebサイトにアクセスするために認証されているかどうかをチェックし、ユーザーがその特定のページにアクセスできるかどうかを確認する権限をもう一度確認します。 –
「profile」と「dashboard」の2つのルートがあり、ログインしているすべてのユーザーに 'profile'ルートへのアクセス権を与えたいが、adminユーザーだけが' dashboard'ルートにアクセスできます。どちらの場合も、同じ 'isauthenticated'関数をどのように使用できますか? – adi