0

ログインしているかどうかに応じて、ユーザーに異なるものを表示するにはどうすればよいですか。非常に単純な使用例:

  • ログインしていないユーザーにログイン ボタンを表示する
  • ウェルカム {username} を表示 | それ以外の場合はログアウト

セッションをチェックする必要があると思いますが、セッション(またはユーザー名/ IDのみ)を毎回ビューに渡さずにどうすれば確認できますか

4

1 に答える 1

0

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!
于 2012-06-25T21:07:11.583 に答える