ログインしているかどうかに応じて、ユーザーに異なるものを表示するにはどうすればよいですか。非常に単純な使用例:
- ログインしていないユーザーにログイン ボタンを表示する
- ウェルカム {username} を表示 | それ以外の場合はログアウト
セッションをチェックする必要があると思いますが、セッション(またはユーザー名/ IDのみ)を毎回ビューに渡さずにどうすれば確認できますか
ログインしているかどうかに応じて、ユーザーに異なるものを表示するにはどうすればよいですか。非常に単純な使用例:
セッションをチェックする必要があると思いますが、セッション(またはユーザー名/ IDのみ)を毎回ビューに渡さずにどうすれば確認できますか
1)動的ヘルパー「ユーザー」を作成します。例:
app.dynamicHelpers({
user: function(req, res){
var roles, name;
if (req.session && req.session.auth == true) {
roles = ['member'];
name = (req.session.user) ? req.session.user.name : 'Registered member';
id = (req.session.user) ? req.session.user.id : null;
}
else {
roles = ['guest'];
name = 'Guest';
id = null;
}
return {
name: name,
id: id,
roles: roles,
isGuest: roles.indexOf('guest') !== -1,
isMember: roles.indexOf('member') !== -1,
isAdmin: roles.indexOf('admin') !== -1
}
}
});
2)ビュー(Jadeを使用する場合)では、次の条件付き表記を使用します。
if user.isGuest
h2 Please register!
if user.isMember
h2 Hello, member!